{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "notebookRunGroups": {
     "groupValue": "1"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from numba import njit\n",
    "from ipywidgets import interact,ToggleButtons\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import pandas as pd\n",
    "\n",
    "import sys\n",
    "sys.path.insert(0, '../')\n",
    "import cogms\n",
    "from cogms.plotting import plot_DDM\n",
    "\n",
    "switch_widget = ToggleButtons(\n",
    "    options=[-1, 1],  \n",
    "    description='congruency (-1:incong; 1:cong)',  \n",
    "    value=1,  \n",
    "    button_style='', \n",
    ")\n",
    "\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## DDM  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "720b9407db7848e8a0c666184049f76d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=50, description='ntrials', max=150, min=-50), FloatSlider(value=1.5, des…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(ntrials, a, v,t, z):\n",
    "  cogms.plot_DDM(ntrials, cogms.DDM_trial, theta=(a, v, t, z, 0,0,0))\n",
    "\n",
    "interact(plot, ntrials=50, a=(0.2, 3, 0.1),  z=0.5, t = 0.2,v = (0.0, 3, 0.1), )\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## DMC"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### gamma drift\n",
    "\n",
    "ulrich2015 提供了关于 DMC 的 matlab 代码，以及全方位的介绍。\n",
    "\n",
    "- DMC 假设自动加工(automatic)导致的信息累积过程服从 gamma 分布 $E[\\mathbf{X}_{a}(t)]=A\\cdot e^{-t/\\tau}\\cdot\\left[{\\frac{t\\cdot e}{(a-1)\\cdot\\tau}}\\right]^{a-1}$，见下图。\n",
    "  - 其中，A 是 gamma 分布的peak，is positive in congruent trials and negative in incongruent ones.\n",
    "  - 分布的众数 maximum is located at tmax = t(a-1)\n",
    "- 注意，自动加工过程导致的evidence服从 gamma，而 vc控制过程的 evidence一致上升。\n",
    "  - 自动加工之后会消失，因此，va 必然逐渐趋近于0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "然而，$E[X_a(t)]$是关于 x 和 t 的函数，而不是在无noise情况下的 x t 图中的平均v。 \n",
    "- 首先，传统的 DDM中，v是一条斜线，可以通过 x=v*t+z来绘制。\n",
    "- 想要得到 gamma 影响下的 x，需要 $E[X_a(tmax)]$ 的导数,\n",
    "- 即 $\\mu_{a}(t)={\\frac{d E[{\\bf X}_{a}(t)]}{d t}}=A\\cdot e^{-t/\\tau}\\cdot\\left[{\\frac{t\\cdot e}{(a-1)\\cdot\\tau}}\\right]^{a-1}\\cdot\\left[{\\frac{a-1}{t}}-{\\frac{1}{\\tau}}\\right].$\n",
    "- 也就是在 $E[X_a(t)]$ 的基础上多了(乘以) $\\left[{\\frac{a-1}{t}}-{\\frac{1}{\\tau}}\\right]$. \n",
    "\n",
    "如下图显示，vc(control) 和 v(superimposed)在无noise下的 xt图。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a9747659fcae4eec8dfee6abbb1e979e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=1.0, description='vc', max=2.0, step=0.01), FloatSlider(value=50.0, de…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from cogms.simulators import DMC_drift\n",
    "\n",
    "@njit(fastmath=True)\n",
    "def gamma_dists(t: float, peak: float, shape: float, tau: float) -> float:\n",
    "\n",
    "    t = max(t, 0.01)\n",
    "    term1 = peak * np.exp(-t / tau)\n",
    "    term2 = np.power((t * np.e) / ((shape - 1) * tau), (shape - 1))\n",
    "    y = term1 * term2\n",
    "\n",
    "    return y\n",
    "\n",
    "def plot(vc, peak, shape, tau, congruency):\n",
    "    tmax = 2000\n",
    "    ts = np.arange(tmax)\n",
    "    # ua = [DMC_drift(step, vc, peak * congruency, shape, tau) for step in ts]\n",
    "    ua = [gamma_dists(step, peak * congruency, shape, tau)+vc for step in ts]\n",
    "    \n",
    "\n",
    "    plt.plot(vc * ts, label = \"control\", color=\"r\")\n",
    "    plt.plot(ua * ts, label = \"superimposed\", color=\"b\")\n",
    "    # plt.plot(ua * ts, label = \"superimposed\", color=\"b\")\n",
    "    plt.axvline(x=tau*(shape-1), label = f\"mode(tau(shape-1))={tau*(shape-1)}\", color=\"gray\")\n",
    "    plt.legend()\n",
    "\n",
    "interact(plot, vc = (0.0, 2, 0.01), peak = (1, 100, 0.1), shape = (1.01, 50, 0.01), tau = (1, 800, 1), congruency = switch_widget)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### data check\n",
    "\n",
    "from pydmc\n",
    "Prms(amp(peak)=20, tau=30, drc(vc)=0.5, bnds(a)=75, res_mean(ndt)=300, res_sd=0, aa_shape(alpha)=2, t_max=1000, sp_dist(z)=0)\n",
    "\n",
    "|    |   | congruency | choice | count | mean    | std      | min | 25%   | 50%  | 75%  | max  |\n",
    "|----|---|------------|--------|-------|---------|----------|-----|-------|------|------|------|\n",
    "| 0  | 0 | cong       | 0.0    | 9942  | 439.488533 | 102.391387 | 311 | 363   | 414  | 486  | 1118 |\n",
    "| 0  | 1 | cong       | 1.0    | 58    | 460.379310 | 97.454412 | 357 | 391   | 445.5| 492  | 877  |\n",
    "| 1  | 0 | incong     | 0.0    | 9870  | 457.433435 | 88.720330 | 324 | 397   | 434  | 492  | 1125 |\n",
    "| 1  | 1 | incong     | 1.0    | 130   | 407.630769 | 107.187522 | 315 | 342.25| 373.5| 438  | 1056 |\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注意：DMC 往往采用 step = 1, scale = 4 的设定。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>congruency</th>\n",
       "      <th>response</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">-1.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>115.0</td>\n",
       "      <td>389.895660</td>\n",
       "      <td>67.139862</td>\n",
       "      <td>318.0</td>\n",
       "      <td>347.5</td>\n",
       "      <td>367.0</td>\n",
       "      <td>400.0</td>\n",
       "      <td>633.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>9885.0</td>\n",
       "      <td>458.414581</td>\n",
       "      <td>89.721695</td>\n",
       "      <td>331.0</td>\n",
       "      <td>396.0</td>\n",
       "      <td>433.0</td>\n",
       "      <td>496.0</td>\n",
       "      <td>1239.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">1.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>71.0</td>\n",
       "      <td>472.802826</td>\n",
       "      <td>78.103523</td>\n",
       "      <td>360.0</td>\n",
       "      <td>406.0</td>\n",
       "      <td>463.0</td>\n",
       "      <td>516.5</td>\n",
       "      <td>729.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>9929.0</td>\n",
       "      <td>440.190247</td>\n",
       "      <td>101.018547</td>\n",
       "      <td>315.0</td>\n",
       "      <td>366.0</td>\n",
       "      <td>415.0</td>\n",
       "      <td>486.0</td>\n",
       "      <td>1246.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      count        mean         std    min    25%    50%  \\\n",
       "congruency response                                                        \n",
       "-1.0       -1.0       115.0  389.895660   67.139862  318.0  347.5  367.0   \n",
       "            1.0      9885.0  458.414581   89.721695  331.0  396.0  433.0   \n",
       " 1.0       -1.0        71.0  472.802826   78.103523  360.0  406.0  463.0   \n",
       "            1.0      9929.0  440.190247  101.018547  315.0  366.0  415.0   \n",
       "\n",
       "                       75%     max  \n",
       "congruency response                 \n",
       "-1.0       -1.0      400.0   633.0  \n",
       "            1.0      496.0  1239.0  \n",
       " 1.0       -1.0      516.5   729.0  \n",
       "            1.0      486.0  1246.0  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from cogms import DMC_trial\n",
    "from cogms.simulators import dmc_experimenti_simulator\n",
    "\n",
    "n_trails = 10000\n",
    "\n",
    "theta = {\n",
    "    \"a\": 75*2,\n",
    "    \"ndt\": 300,\n",
    "    \"vc\": 0.50,\n",
    "    \"peak\": 20,\n",
    "    \"shape\": 2,\n",
    "    \"tau\": 30,\n",
    "    \"z\": 0.5\n",
    "}\n",
    "\n",
    "# compare for pydmc\n",
    "dat = dmc_experimenti_simulator(\n",
    "    tuple(theta.values()),\n",
    "    DMC_trial,\n",
    "    n_samples=n_trails,\n",
    "    sim_kwargs={\"dt\":1,\"dc\":4,\"max_steps\":1000}\n",
    ")\n",
    "dat.groupby([\"congruency\",\"response\"])[\"rt\"].describe()\n",
    "\n",
    "# dat = pydmc.Sim(pydmc.Prms(\n",
    "#     bnds=50, \n",
    "#     res_mean=100, \n",
    "#     drc=0.4, \n",
    "#     amp=20, \n",
    "#     aa_shape=2,\n",
    "#     tau=50, \n",
    "#     sp_bias=0,\n",
    "#     sp_dist=0,\n",
    "#     dr_dist=0,\n",
    "#     res_sd=0,\n",
    "#     sigma=4\n",
    "#     ), full_data=True)\n",
    "# pd.DataFrame(dat.data[0].T, columns=[\"rt\",\"choice\"]).groupby(\"choice\")[\"rt\"].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAGxCAYAAACOSdkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3oklEQVR4nO3de1wVdf7H8fcACmhAXhIi8ZIKogiapKmVmmbeMsM12zQlLTM1c9PNTAuzX5LaxdKkNDMvmbubWLZqqV3UXdOUJBHFe3klWi+gLILC/P7o5/mFgAEBczjzej4e52HnO3NmPjjpefud73y/hmmapgAAAGzIzeoCAAAArEIQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtuVhdQHOLC8vTydPnpSPj48Mw7C6HAAAUAymaer8+fMKDAyUm9u1+3wIQtdw8uRJBQUFWV0GAAAohWPHjqlu3brX3IcgdA0+Pj6Sfv2N9PX1tbgaAABQHBkZGQoKCnJ8j18LQegartwO8/X1JQgBAFDJFGdYC4OlAQCAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbblEEIqNjZVhGBo7dqyjzTRNTZkyRYGBgfL29lanTp2UnJxsXZEAAMDpVPogtH37ds2bN0/h4eH52mfMmKHXX39dc+bM0fbt2xUQEKC7775b58+ft6hSAADgbCp1ELpw4YIGDhyo+fPnq0aNGo520zQ1a9YsTZo0SVFRUQoLC9OiRYv03//+V8uWLSvyeNnZ2crIyMj3AgAArqtSB6FRo0apV69e6tq1a772I0eOKDU1Vd26dXO0eXp6qmPHjtqyZUuRx4uNjZWfn5/jFRQUVG61AwAA61XaILR8+XJ9//33io2NLbAtNTVVkuTv75+v3d/f37GtMBMnTlR6errjdezYsbItGgAAOBUPqwsojWPHjumpp57SunXr5OXlVeR+hmHke2+aZoG23/L09JSnp2eZ1QkAAJxbpewRSkhIUFpamlq3bi0PDw95eHho48aNeuutt+Th4eHoCbq69yctLa1ALxEAALCvShmEunTpoqSkJCUmJjpekZGRGjhwoBITE3XzzTcrICBA69evd3wmJydHGzduVPv27S2sHAAAOJNKeWvMx8dHYWFh+dqqV6+uWrVqOdrHjh2radOmqUmTJmrSpImmTZumatWq6aGHHrKiZAAA4IQqZRAqjmeeeUZZWVkaOXKkzp49q7Zt22rdunXy8fGxujQAAOAkDNM0TauLcFYZGRny8/NTenq6fH19rS4HAAAUQ0m+vyvlGCEAAICyQBACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRCCy4mPj1dERIS8vb0VERGh+Pj4Em0HANiHYZqmaXURziojI0N+fn5KT0+Xr6+v1eWgGOLj49WvXz8ZhqHf/q/94IMPqnnz5kpOTtby5csd7Vf2W7FihaKioqwoGQBQxkry/U0QugaCUOXTrFkz7d27t0SfMQxDLVq00A8//FBOVQEAKlJJvr+5NQaX8cMPPxQZgtzd3TV8+HC5u7sX2GaappKSkvT+++8rJyenvMsEADgRghBcwpo1a3T77bcXus0wDIWFhendd99V8+bNZRhGgX1M09SwYcPUsGFDRUdHq0WLFowhAgAbIAih0pszZ47uvfdeXbhwQWFhYZLkCDtXxgDFxMRIkmJiYmSaZr7tkjRkyBAFBgbq5MmTWrRokXbv3q2LFy8qKSlJ/fr1IwwBgIsiCKHSys3N1VNPPaUnn3xSeXl5Gjp0qBISErRixQqFh4fLy8tL4eHhio+P1/333y9JioqKKnT7Bx98oMOHD6tu3br5znElNE2dOtWKHxEAUM4YLH0NDJZ2LvHx8XrxxRe1f/9+NW7cWJ6enkpISJAkxcbGasKECYXe9ioJb29vXbx4sUC7l5eXsrKy/tCxAQAVoyTf3x4VVBPwh1z9WPzu3bslSVWqVNGHH36o/v37l8l5goODlZSUpKv/fVCjRo0yOT4AwLlwawyVwosvvlhgbiBJql+/fpmFIKnoMUSnTp3Shx9+WGbnAQA4B4IQKoX9+/cXCEGSdPz48TI9T2FjiPr06SNJeuSRR/Tll1+W6fkAANYiCKFSCA4OLjD+xzAMhYSElPm5oqKilJiYqKysLCUmJmrlypV64IEHdOnSJUVFRWnXrl1lfk4AgDUIQqgUCrtl9dvH4suTm5ubFi1apDvvvFMZGRlq3bq1vLy8mGMIAFwAQQiVQlGPvV95LL68eXl5adiwYZKky5cvKzs7mzmGAMAF8Pj8NfD4PH4rIiKi0CfKwsLClJSUZFFVAICrsdYYUA6KGrC9e/duvfHGG4XOPwQAcG4EIaCYChuwfcXTTz+t4OBgjRw5UuHh4axTBgCVBEEIKKai5hgaOXKk6tatq2PHjikuLk5JSUmsUwYAlQRBCCimogZsv/322zpw4IBuvPHGfPuzThkAOD8GS18Dg6VREqxTBgDOgcHSgAWKGkPEOmUA4LwIQkAZuXoM0RWnTp3S9OnTLaoKAHAtBCGgjFw9higiIkIDBgyQJD377LOaNm2axRUCAK7mYXUBgCuJiopSVFRUvrawsDA9//zzmjRpkvLy8jR58mSLqgMAXI0eIaCcTZ482dEb9PzzzysgIIB5hgDASRCEgAowceJEDRo0SJL0888/M88QADgJghBQQXbt2pXvPfMMAYD1CEJABdm/f3+BNtM0tW/fPguqAQBIBCGgwhQ1z1BwcLAF1QAAJIIQUGGKmmcoJCTEoooAAAQhoIJcPc9QvXr1JEkrVqzQ5s2bLa4OAOyJIARUoKioKCUmJiorK0s//fSTBg8erLy8PA0aNEjnzp2zujwAsB2CEGChOXPm6Oabb9bRo0f1xBNPiDWQAaBiEYQAC/n4+GjZsmVyd3fX8uXLtWTJEqtLAgBbIQgBFmvbtq2mTJkiSRo1apQOHTpkbUEAYCMEIcAJTJw4UXfccYcuXLiggQMH6tKlS1aXBAC2QBACnIC7u7uWLl0qPz8/bdu2TXXr1mU9MgCoAAQhwEnUq1dPw4YNkySlpaWxHhkAVACCEOBENmzYkO8965EBQPkiCAFOhPXIAKBiEYQAJ1LUemQswwEA5YMgBDiRotYju/322y2qCABcG0EIcCJXr0fm7+8vSZo/f76+++47i6sDANdDEAKczG/XIzt58qT69OmjnJwcRUVF6eeff7a6PABwKQQhwIm5ublpyZIlCgkJ0YkTJ9S/f3/l5ORYXRYAuAyCEODkfH199cknn8jHx0ebN2/W008/bXVJAOAyPIq74/fff1+qEzRr1kxeXl6l+iyAXzVt2lRLly7Vfffdp7ffflutW7fWI488YnVZAFDpGaZpmsXZ0c3NrdDHen/P9u3bdcstt5T4c84gIyNDfn5+Sk9Pl6+vr9XlAJoyZYpefPFFeXp6avPmzbr11lutLgkAnE5Jvr+L3SMkSZMmTVKjRo2KtW9ubq4ee+yxkhwewO944YUXtHPnTq1atUrt27eXu7u7QkJCFBMTo6ioKKvLA4BKp0Q9Qlu3blWbNm2KdeDc3FxVqVJFO3bsoEcIKENLlizR4MGDHe8Nw5BpmlqxYgVhCABUsu/vYg+WXrlyZYlmt3V3d9fKlSvVuHHjYn8GwO979dVX892mZj0yACi9Ygeh++67T35+fiU6+H333VduPSmxsbG69dZb5ePjozp16qhv374F1mMyTVNTpkxRYGCgvL291alTJyUnJ5dLPUBF2b9/v67uyGU9MgAonUr7+PzGjRs1atQobd26VevXr9fly5fVrVs3ZWZmOvaZMWOGXn/9dc2ZM0fbt29XQECA7r77bp0/f97CyoE/pqj1yIKCgiyoBgAqt1IFoa+++kr/+Mc/HO9//vln9ezZUwEBARo8eLAuXrxYZgUW5fPPP1d0dLSaN2+uiIgILVy4UEePHlVCQoKkX/+FPGvWLE2aNElRUVEKCwvTokWL9N///lfLli0r9/qA8lLUemRnzpxh5mkAKKFSBaEXXnhBe/bscbx/5plntHnzZrVv314ff/yxZs6cWWYFFld6erokqWbNmpKkI0eOKDU1Vd26dXPs4+npqY4dO2rLli2FHiM7O1sZGRn5XoCzuXo9srCwMAUGBur06dN64IEHdOnSJatLBIBKo1RBaP/+/Y4nwS5fvqyVK1dq+vTpio+P19SpU/XRRx+VaZG/xzRNPf3007r99tsVFhYmSUpNTZUkx6KVV/j7+zu2XS02NlZ+fn6OF7ca4Kx+ux5ZUlKSvvzyS/n4+GjTpk0aN26c1eUBQKVRqiCUkZGh66+/XpKUkJCgzMxM9enTR5LUpk0bHT16tMwKLI7Ro0dr165dhQawq28fFHZL4YqJEycqPT3d8Tp27Fi51AuUtaZNm2rJkiWSpNmzZ+uDDz6wtiAAqCRKFYTq1KmjAwcOSJI2bNig+vXrq27dupKk8+fPq0qVKmVX4e948skntWrVKn399deOGiQpICBAkgr0/qSlpRXoJbrC09NTvr6++V5AZXHffffphRdekCSNGDFC27dvt7giAHB+pQpC3bt313PPPadx48bp9ddfV9++fR3bUlJS1KBBgzIqr2imaWr06NGKj4/XV199pYYNG+bb3rBhQwUEBGj9+vWOtpycHG3cuFHt27cv9/oAK8TExOjee+9Vdna2oqKilJaWZnVJAODUShWEpk2bppYtW2r+/Plq1aqVJk+e7Ni2bNmyCgkao0aN0tKlS7Vs2TL5+PgoNTVVqampysrKkvTrLbGxY8dq2rRpWrlypXbv3q3o6GhVq1ZNDz30ULnXB1jBzc1NS5YsUXBwsI4fP67+/fszeBoArqHYS2wUV0ZGhry8vFS1atWyPGwBRY3zWbhwoaKjoyX92mv04osv6t1339XZs2fVtm1bvf32244B1b+HJTZQWe3du1dt27bV+fPnVatWLWVmZio4OJg1yQDYQkm+v8s8CLkSghAqs2effVbTp093vGdNMgB2UW6rz//WJ598og8//FA//fRTgQkUDcPQDz/8UNpDAygDa9euzff+t2uSEYQA4FelCkIzZ87UhAkTdMMNN6hx48aqXr16WdcF4A/av39/gTbTNJWSkmJBNQDgnEoVhObOnauhQ4fq3Xfflbu7e1nXBKAMBAcHKykpqcACrZcvX9bq1avVq1cviyoDAOdRqqfGTp8+rYceeogQBDixq9cku/Jrbm6uevfurTFjxlTIuoAA4MxKFYQ6dOigvXv3lnUtAMrQ1WuShYeHa/ny5Ro7dqykX2egbtOmjZKTk60tFAAsVKqnxvbt26f7779fr7zyirp3717uj8pbhafG4KrWrl2r6OhopaWlycvLS6+//rpGjBhR5LQUAFCZlOT7u1Q9Qo0bN1bXrl11//33q1q1agWWpfDz8ytV4QAqRo8ePbRr1y7dc889unjxokaOHKnbbrtNzZs3l7e3tyIiIhQfH291mQBQ7krVIzRu3Di98cYbatmypUJDQwvtEVq4cGGZFGgleoTg6vLy8vTWW2/pr3/9qy5fvuxoZ84hAJVZuU+oWKtWLQ0fPlyxsbGlLrIyIAjBLoKDgx0LKV9hGIbCw8OVmJhoTVEAUErlfmssNzdXd999d6mKA+B8jh07VqDNNE0eigDg8koVhLp166atW7eWdS0ALBIcHFzoQOnLly9r8eLFBeYiAgBXUaog9Pzzz2vp0qV68803dfDgQZ05c6bAC0DlUdScQ3l5eRoyZIgGDhyo9PR0K0sEgHJRqjFCbm6/5qdrPWqbm5tb+qqcBGOEYCfx8fGaOnWq9u3bp5CQED3//PNKSUlRTEyMcnNz1aBBAy1btkzt2rWzulQAuKZyX3T1hRdeYL4RwMVERUUV+oTYXXfdpYceekg//vij7rjjDsXExOi5555jZnkALqFUPUJ2QY8Q8Kv09HSNHDlSy5YtkySFhobKNE39+OOPCg4OVkxMDI/ZA3Aa5f74vF0QhID8lixZouHDh+dbo4w5hwA4m3J5fD48PFy7d+8udhF5eXkKDw/n8VvAhTz88MOqX79+vrYr/5YaP368srKyrCgLAEqt2EFo9+7dJfpLzjTNEn8GgPP76aefCm0/cuSIatasqV69eikuLk5Hjx6t4MoAoORKNFi6b9++8vT0LPb+DKgGXE9wcLCSkpIKzC1UpUoVXbx4UWvWrNGaNWskSWFhYerVq5d69eqldu3aadWqVXrxxRe1f/9+xhYBcArFHiP0yCOPlOoEL774ourVq1eqz1qNMUJAQfHx8erXr59jbNBvxwg1adJEq1ev1urVq7Vlyxbl5eU5Ple9enVlZmYW+jnCEICyxGDpMkIQAgp39ZxDMTExuv/++/Ptc/r0aX3xxRdavXq1Pv/880InWjUMQ02aNFFKSgo9yADKDEGojBCEgLJx+fJlVa9eXTk5OYVur1u3rnr27KlevXqpS5cuql69egVXCMCVlPuiqwBQEh4eHmratGmhvT6GYej48eOaN2+e7rvvPtWqVUvdu3fX7NmzdfjwYUm/9kBFRETI29tbERERio+Pr+gfAYCLokfoGugRAspOUWOLPvroI/n5+TnGFv3444/5PnfTTTfpxIkTjC0CUGzcGisjBCGgbP3e2CLTNLV3715HKPrXv/5V6LqFhmEoPDxciYmJFVg9gMqCIFRGCEKAtc6dO6c6dero0qVLBba5u7srOTlZISEhFlQGwJmVyxihTZs26cKFC3+4OAAoruuvv16hoaGFji3Kzc1V06ZN1bt3b23YsKHAvEYAUBzFDkKdO3fWnj17yrMWACggJibGMTZI+v+JWiMjI2UYhlavXq27775bERERev/99/OtgwYAv6fYQYh/bQGwQlRUlFasWKHw8HB5eXkpPDxc8fHx2r59u/bt26fRo0erevXqSkpK0rBhw1SvXj3FxMTo559/trp0AJVAsccIubm5aevWrWrTpk151+Q0GCMEVA5nz57VggULNHv2bMcaZ1WrVtWf//xn/eUvf1FERITFFQKoSOU2jxAzvwJwRjVq1ND48eN16NAh/e1vf1O7du2Uk5OjRYsWqWXLlrrrrru0atUqffzxx2U6HxHzGwGVX4l6hKpVqyY3t9/PToZhKD09/Q8XZzV6hIDKa9u2bXrjjTf08ccfF/kIvmmaev/999WrV68SH3/16tUaOnQo8xsBTqhcHp93c3NTz549dcMNNxSriIULFxZrP2dGEAIqv2PHjmnOnDl69dVX8y0CWx6Y3whwDuUWhBgjBKCy8vLyUnZ2drmfp0qVKsrOzmYoAWAh1hoDgKuEhIQUCCeGYSgiIkKmaZb4FR4eXmjYuXTpkrp3764DBw5U1I8G4A8gCAGwhcLmIzJNUzExMWV2POnXBWbXrVunsLAwxcTEKCsrq2x+AADlgiAEwBaKmo/ot2udlcXx9uzZo27duiknJ0dTp05VWFiY1q5dW8Y/DYCyUi5rjf32X0mVGWOEAJTGlafHxo4dqxMnTkj6NTjNmjVLQUFBFlcHuD5LxwgtW7ZMoaGhZX1YAKg0DMPQn/70J+3du1fjxo2Tu7u74uPjFRoaqpkzZxa6iCwAa5QoCKWnp2vRokWaMWOGPvnkk3yPosbHxyssLEyDBg2qkCczAMDZ+fj46NVXX9XOnTvVoUMHZWZm6plnnlGrVq20adMmq8sDoBIEoYMHD6pp06YaOnSonn32WfXr109du3ZVRkaGevXqpf79++vUqVOaMWOGUlJSyrNmAKhUWrRooU2bNmnhwoWqXbu2kpOT1bFjRw0ZMkRpaWlWlwfYWrGD0PPPP6+MjAxNmTJFq1ev1ltvvaWUlBS1b99ea9eu1bBhw3To0CGNHz9enp6e5VkzAFQ6bm5uio6O1r59+zR8+HAZhqHFixcrJCREcXFxhc5+DaD8FXuwdGBgoJ588klNnDjR0fbFF1+oR48eGjFihObOnVtuRVqFwdIAysu2bdv0xBNPaOfOnZKkyMhIxcXFKTIy0uLKgMqvXAZL//LLL+rQoUO+tttvv12SNGDAgFKUCQD21bZtW23fvl2zZ8+Wr6+vduzYoTZt2mjUqFE6d+6c1eUBtlHsIJSbmysvL698bVfe+/j4lG1VAGAD7u7uGj16tPbt26eBAwfKNE3NnTtXISEhWrJkicphdhMAV/Eoyc779u2Th8f/f+TKPe3CBkffcsstf7A0ALCHgIAALV26VMOGDdPIkSOVkpKiwYMHa8GCBXr77bfVvHlzq0sEXFaJFl0tbJLEqydPvPLeFQb+MUYIQEXLycnR66+/rqlTpyorK0seHh56+umnFR4erhkzZmj//v0KDg5WTEyMoqKirC4XcErlsvr8okWLSlTEkCFDSrS/MyIIAbDKjz/+qLFjx+rTTz91tF1ZH+3KrytWrCAMAYUolyBkRwQhAFb77LPP1K9fvwKzURuGofDwcCUmJlpTGODELF1iAwBQdu699165uRX8q9o0Te3du9eCigDXQhACACcXEhJS6BjNnJwcDR06VEePHrWgKsA1EIQAwMnFxMTkezDlt6Fo4cKFatKkicaOHctyHUApEIQAwMlFRUVpxYoVCg8Pl5eXl8LDwxUfH69vv/1WnTt3Vk5Ojt588001atRIMTExysjIsLpkoNJgsPQ1MFgagLMzTVMbNmzQxIkTlZCQIEmqVauWJk6cqJEjR8rb29viCoGKx2BpALAJwzB09913a/v27fr444/VtGlTnT59WuPHj1eTJk00f/58Xb582eoyAadFEAIAF2AYhvr166ekpCQtWLBAQUFBOnHihIYPH65mzZrp73//u/Ly8qwuE3A6BCEAcCEeHh4aOnSo9u/frzfeeEO1a9fWgQMHNGDAAEVGRurzzz9nDTPgNwhCAOCCvLy8NHbsWB0+fFhTpkyRj4+Pdu7cqR49eqhTp07asmWL1SUCTqFcgtAvv/xSHocFAJSQj4+PYmJidPjwYT399NPy9PTUpk2b1KFDB/Xp00dJSUlWlwhYqsyCkGmaWrNmjfr166egoKCyOiwAoAzUrl1br732mg4cOKBHH31U7u7u+uyzzxQREaFBgwbp8OHDVpcIWOIPB6FDhw5p0qRJCgoK0r333quVK1cWWBMHAOAcgoKCNH/+fCUnJ+uBBx6QaZr68MMPFRISolGjRunUqVNWlwhUqFIFoYsXL2rJkiXq1KmTgoODFRsbq6CgIMXFxWnhwoVlXSMAoIyFhITob3/7mxISEnTPPffo8uXLmjt3rho1aqSJEyfq7NmzVpcIVIgSBaHt27drxIgRCggI0JAhQ7R//36NHz9ee/bs0bfffqvhw4fr+uuvL6dSAQBl7ZZbbtHnn3+ub775Ru3atVNWVpZeeeUV3XzzzYqNjVVmZqbVJQLlqthBKDw8XLfddps++OADde3aVZ999pmOHz+u6dOnq2nTpuVZIwCgnHXs2FH//ve/9emnnyosLEznzp3Tc889p8aNG2vu3LnKycmxukSgXBQ7CO3evVuGYegvf/mL5s6dq169esnNjafvAcBVGIahPn36KDExUUuWLFHDhg2VmpqqUaNGKTQ0VEuXLlVubq7VZQJlqthJZtasWWrRooWmT5+uunXrqm/fvvr000+Zuh0AXIy7u7sGDRqklJQUvf322woICNDhw4f18MMPq2XLlvrss8+YlBEuo9hBaMyYMdq5c6e+++47DRs2TBs3blRUVJRuuukmjRs3jrkoAMDFVK1aVSNHjtTBgwcVGxur66+/Xrt371afPn3UoUMHbdy4UfHx8YqIiJC3t7ciIiIUHx9vddlAiZR69fmLFy/qH//4hxYsWKDNmzdLklq1aqXQ0FAtW7bMJbpPWX0eAP7f2bNnNWPGDL355pvKyspytBuGIdM0Hb+uWLFCUVFRFlYKuyvJ93epg9BvHTp0SAsWLNDixYt18uRJGYZBEAIAF3Xq1Cn9z//8j+bOnVtgm2EYCg8PV2JiYsUXBvyfCg9CV+Tl5WnNmjV6//33XaJ7lCAEAEXz9PQs9GkyLy+vfD1GQEUryfd3mT725ebmpt69eztVCJo7d64aNmwoLy8vtW7d2nEbDwDwxzRt2lSGYRRod3d31759+yyoCCg5l37+/W9/+5vGjh2rSZMmaefOnbrjjjvUo0cPHT161OrSAKDSi4mJcYwNkuT4NTMzU+Hh4Zo6daqys7OtLBH4XWV6a8zZtG3bVrfccovi4uIcbaGhoerbt69iY2ML7J+dnZ3vD21GRoaCgoK4NQYARYiPj9fUqVO1b98+hYSE6IknntCnn36qtWvXSvq112jevHm64447LK4UdmLZrTFnkpOTo4SEBHXr1i1fe7du3bRly5ZCPxMbGys/Pz/HKygoqCJKBYBKKyoqSomJicrKylJiYqIef/xxrV69WsuXL5e/v79SUlJ055136tFHH9WZM2esLhcowGWD0H/+8x/l5ubK398/X7u/v79SU1ML/czEiROVnp7ueB07dqwiSgUAl2IYhgYMGKC9e/dq+PDhkqQFCxY4pldx4RsRqIRcNghdcfVAvt/ez76ap6enfH19870AAKVTo0YNvfvuu9q8ebOaNWumtLQ0DRw4UD169NDhw4etLg+Q5MJBqHbt2nJ3dy/Q+5OWllaglwgAUH5uv/127dy5Uy+99JI8PT31xRdfKCwsTNOnT9elS5esLg8257JBqGrVqmrdurXWr1+fr339+vVq3769RVUBgD1VrVpVkydP1q5du3TXXXcpKytLzz77rCIjI7Vt2zary4ONuWwQkqSnn35a7733nt5//33t3btXf/nLX3T06FGNGDHC6tIAwJaCg4O1YcMGLVq0SLVq1dKuXbvUrl07jR49WhkZGVaXBxty6SA0YMAAzZo1S1OnTlXLli21adMmrVmzRvXr17e6NACwLcMwNHjwYKWkpGjIkCEyTVNvv/22QkNDFR8fz2BqVCiXnkfoj2KJDQAof1999ZUef/xxHTx4UJLUp08fzZkzhylMUGrMIwQAqDTuuusuJSUlafLkyapSpYpWrVqlZs2a6c0333SJBbzh3AhCAADLeXl56aWXXtLOnTvVoUMHXbhwQWPHjtVtt92mnTt3Wl0eXBhBCADgNJo3b65Nmzbp3XfflZ+fn3bs2KFbb71V48ePV2ZmptXlwQURhAAATsXNzU3Dhw9XSkqKBgwYoNzcXL322mtq1qyZVq9ebXV5cDEEIQCAUwoICNDy5csdT/sePXpUvXv31gMPPKBTp05ZXR5cBEEIAODUevTooeTkZI0fP17u7u76xz/+odDQUL3zzjvKy8uzujxUcgQhAIDTq169umbOnKkdO3YoMjJS6enpeuKJJ3THHXcoOTnZ6vJQiRGEAACVRsuWLbV161a9+eabuu6667Rlyxa1bNlS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lY/t5hECAAAoDYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLYIQAACwLQ+rC3BmpmlKkjIyMiyuBAAAFNeV7+0r3+PXQhC6hvPnz0uSgoKCLK4EAACU1Pnz5+Xn53fNfQyzOHHJpvLy8nTy5En5+PjIMAyry/nDMjIyFBQUpGPHjsnX19fqcvB/uC7Oh2vinLguzsdZr4lpmjp//rwCAwPl5nbtUUD0CF2Dm5ub6tata3UZZc7X19ep/ofFr7guzodr4py4Ls7HGa/J7/UEXcFgaQAAYFsEIQAAYFsEIRvx9PRUTEyMPD09rS4Fv8F1cT5cE+fEdXE+rnBNGCwNAABsix4hAABgWwQhAABgWwQhAABgWwQhAABgWwShSi4uLk7h4eGOyazatWuntWvXOrabpqkpU6YoMDBQ3t7e6tSpk5KTk/MdIzs7W08++aRq166t6tWrq0+fPjp+/HhF/yguKzY2VoZhaOzYsY42rkvFmzJligzDyPcKCAhwbOeaWOPEiRMaNGiQatWqpWrVqqlly5ZKSEhwbOe6VLwGDRoU+LNiGIZGjRolyQWviYlKbdWqVebq1avNffv2mfv27TOfe+45s0qVKubu3btN0zTNV155xfTx8TFXrFhhJiUlmQMGDDBvvPFGMyMjw3GMESNGmDfddJO5fv168/vvvzc7d+5sRkREmJcvX7bqx3IZ3333ndmgQQMzPDzcfOqppxztXJeKFxMTYzZv3tw8deqU45WWlubYzjWpeGfOnDHr169vRkdHm9u2bTOPHDlibtiwwTx48KBjH65LxUtLS8v352T9+vWmJPPrr782TdP1rglByAXVqFHDfO+998y8vDwzICDAfOWVVxzbLl68aPr5+ZnvvPOOaZqmee7cObNKlSrm8uXLHfucOHHCdHNzMz///PMKr92VnD9/3mzSpIm5fv16s2PHjo4gxHWxRkxMjBkREVHoNq6JNSZMmGDefvvtRW7nujiHp556ymzUqJGZl5fnkteEW2MuJDc3V8uXL1dmZqbatWunI0eOKDU1Vd26dXPs4+npqY4dO2rLli2SpISEBF26dCnfPoGBgQoLC3Psg9IZNWqUevXqpa5du+Zr57pY58CBAwoMDFTDhg314IMP6vDhw5K4JlZZtWqVIiMj1b9/f9WpU0etWrXS/PnzHdu5LtbLycnR0qVLNXToUBmG4ZLXhCDkApKSknTdddfJ09NTI0aM0MqVK9WsWTOlpqZKkvz9/fPt7+/v79iWmpqqqlWrqkaNGkXug5Jbvny5vv/+e8XGxhbYxnWxRtu2bbV48WJ98cUXmj9/vlJTU9W+fXudPn2aa2KRw4cPKy4uTk2aNNEXX3yhESNGaMyYMVq8eLEk/qw4g08++UTnzp1TdHS0JNe8Jqw+7wJCQkKUmJioc+fOacWKFRoyZIg2btzo2G4YRr79TdMs0Ha14uyDwh07dkxPPfWU1q1bJy8vryL347pUrB49ejj+u0WLFmrXrp0aNWqkRYsW6bbbbpPENaloeXl5ioyM1LRp0yRJrVq1UnJysuLi4jR48GDHflwX6yxYsEA9evRQYGBgvnZXuib0CLmAqlWrqnHjxoqMjFRsbKwiIiL05ptvOp6IuTqBp6WlOdJ8QECAcnJydPbs2SL3QckkJCQoLS1NrVu3loeHhzw8PLRx40a99dZb8vDwcPy+cl2sVb16dbVo0UIHDhzgz4pFbrzxRjVr1ixfW2hoqI4ePSpJXBeL/fTTT9qwYYMeffRRR5srXhOCkAsyTVPZ2dlq2LChAgICtH79ese2nJwcbdy4Ue3bt5cktW7dWlWqVMm3z6lTp7R7927HPiiZLl26KCkpSYmJiY5XZGSkBg4cqMTERN18881cFyeQnZ2tvXv36sYbb+TPikU6dOigffv25Wvbv3+/6tevL0lcF4stXLhQderUUa9evRxtLnlNLBqkjTIyceJEc9OmTeaRI0fMXbt2mc8995zp5uZmrlu3zjTNXx9z9PPzM+Pj482kpCTzz3/+c6GPOdatW9fcsGGD+f3335t33XWX0z7mWFn99qkx0+S6WGHcuHHmN998Yx4+fNjcunWr2bt3b9PHx8f88ccfTdPkmljhu+++Mz08PMyXX37ZPHDggPnhhx+a1apVM5cuXerYh+tijdzcXLNevXrmhAkTCmxztWtCEKrkhg4datavX9+sWrWqecMNN5hdunRxhCDT/PXx05iYGDMgIMD09PQ077zzTjMpKSnfMbKysszRo0ebNWvWNL29vc3evXubR48eregfxaVdHYS4LhXvylwnVapUMQMDA82oqCgzOTnZsZ1rYo3PPvvMDAsLMz09Pc2mTZua8+bNy7ed62KNL774wpRk7tu3r8A2V7smhmmaptW9UgAAAFZgjBAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghCAMmcYRrFe33zzjaKjo9WgQQOrSy5g8+bN8vT01E8//VSh573zzjs1duzYCj0nYGfMLA2gzG3dujXf+5deeklff/21vvrqq3ztzZo10y+//KKMjAy1atWqIku8JtM0FRkZqXbt2mnOnDkVeu6NGzfq7rvvVlJSkkJCQir03IAdEYQAlLvo6Gh9/PHHunDhgtWlFMvatWvVs2dPpaSkWBJGWrRooXbt2mnevHkVfm7Abrg1BsBShd0aMwxDo0eP1sKFCxUSEiJvb29FRkZq69atMk1TM2fOVMOGDXXdddfprrvu0sGDBwscd8OGDerSpYt8fX1VrVo1dejQQV9++WWxaoqLi9Ott95aIAQ1aNBAvXv31j//+U+1atVK3t7eCg0N1T//+U9J0gcffKDQ0FBVr15dbdq00Y4dO/J9/vDhw3rwwQcVGBgoT09P+fv7q0uXLkpMTMy338MPP6xly5bp/PnzxaoXQOkRhAA4pX/+859677339Morr+ijjz7S+fPn1atXL40bN07//ve/NWfOHM2bN0979uxRv3799NvO7aVLl6pbt27y9fXVokWL9Pe//101a9bUPffc87thKCcnRxs2bFDnzp0L3f7DDz9o4sSJmjBhguLj4+Xn56eoqCjFxMTovffe07Rp0/Thhx8qPT1dvXv3VlZWluOzPXv2VEJCgmbMmKH169crLi5OrVq10rlz5/Kdo1OnTsrMzNQ333xT6t8/AMVk2br3AGxjyJAhZvXq1YvcVr9+/XxtksyAgADzwoULjrZPPvnElGS2bNnSzMvLc7TPmjXLlGTu2rXLNE3TzMzMNGvWrGnee++9+Y6Zm5trRkREmG3atLlmrdu2bTMlmcuXLy+wrX79+qa3t7d5/PhxR1tiYqIpybzxxhvNzMzMAvWuWrXKNE3T/M9//mNKMmfNmnXN85umaebk5JiGYZgTJkz43X0B/DH0CAFwSp07d1b16tUd70NDQyVJPXr0kGEYBdqvPN21ZcsWnTlzRkOGDNHly5cdr7y8PHXv3l3bt29XZmZmkec9efKkJKlOnTqFbm/ZsqVuuummAufv1KmTqlWrVmRdNWvWVKNGjTRz5ky9/vrr2rlzp/Ly8go9R5UqVXT99dfrxIkTRdYJoGwQhAA4pZo1a+Z7X7Vq1Wu2X7x4UZL0888/S5L+9Kc/qUqVKvle06dPl2maOnPmTJHnvXIry8vLq0zrMgxDX375pe655x7NmDFDt9xyi2644QaNGTOm0LFAXl5e+W6rASgfHlYXAABlqXbt2pKk2bNn67bbbit0H39//9/9/LXCUmnVr19fCxYskCTt379ff//73zVlyhTl5OTonXfeybfv2bNnHbUAKD8EIQAupUOHDrr++uu1Z88ejR49usSfv3JL69ChQ2VdWj7BwcGaPHmyVqxYoe+//z7ftpMnT+rixYtq1qxZudYAgCAEwMVcd911mj17toYMGaIzZ87oT3/6k+rUqaNffvlFP/zwg3755RfFxcUV+fm6devq5ptv1tatWzVmzJgyq2vXrl0aPXq0+vfvryZNmqhq1ar66quvtGvXLj377LP59r0yIWVRT64BKDsEIQAuZ9CgQapXr55mzJihxx9/XOfPn1edOnXUsmVLRUdH/+7nBw4cqDlz5ig7O1uenp5lUlNAQIAaNWqkuXPn6tixYzIMQzfffLNee+01Pfnkk/n2/eSTT9SiRQu1aNGiTM4NoGjMLA0AVzl58qQaNmyoxYsXa8CAARV67oyMDAUGBuqNN97QY489VqHnBuyIp8YA4CqBgYEaO3asXn755SIfcS8vb7zxhurVq6dHHnmkQs8L2BW3xgCgEJMnT1a1atV04sQJBQUFVdh5fX199cEHH8jDg7+egYrArTEAAGBb3BoDAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC2RRACAAC29b9y8cewN3rojgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from cogms.utils_pydmc import Plot\n",
    "\n",
    "dat[\"rt\"] = dat[\"rt\"]/1000\n",
    "m_plot = Plot(dat)\n",
    "m_plot.delta()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Set dt from 1 to 0.001 and dc from 4 to 1. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>congruency</th>\n",
       "      <th>response</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">-1.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>4906.0</td>\n",
       "      <td>2.315270</td>\n",
       "      <td>1.659826</td>\n",
       "      <td>0.417</td>\n",
       "      <td>1.14500</td>\n",
       "      <td>1.8465</td>\n",
       "      <td>2.93550</td>\n",
       "      <td>14.417</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>5094.0</td>\n",
       "      <td>2.306101</td>\n",
       "      <td>1.638338</td>\n",
       "      <td>0.437</td>\n",
       "      <td>1.15525</td>\n",
       "      <td>1.8040</td>\n",
       "      <td>2.92175</td>\n",
       "      <td>14.131</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">1.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>4928.0</td>\n",
       "      <td>2.360191</td>\n",
       "      <td>1.676583</td>\n",
       "      <td>0.430</td>\n",
       "      <td>1.17200</td>\n",
       "      <td>1.8545</td>\n",
       "      <td>3.02150</td>\n",
       "      <td>13.583</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>5072.0</td>\n",
       "      <td>2.361978</td>\n",
       "      <td>1.674935</td>\n",
       "      <td>0.428</td>\n",
       "      <td>1.17475</td>\n",
       "      <td>1.8600</td>\n",
       "      <td>3.02725</td>\n",
       "      <td>15.324</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      count      mean       std    min      25%     50%  \\\n",
       "congruency response                                                       \n",
       "-1.0       -1.0      4906.0  2.315270  1.659826  0.417  1.14500  1.8465   \n",
       "            1.0      5094.0  2.306101  1.638338  0.437  1.15525  1.8040   \n",
       " 1.0       -1.0      4928.0  2.360191  1.676583  0.430  1.17200  1.8545   \n",
       "            1.0      5072.0  2.361978  1.674935  0.428  1.17475  1.8600   \n",
       "\n",
       "                         75%     max  \n",
       "congruency response                   \n",
       "-1.0       -1.0      2.93550  14.417  \n",
       "            1.0      2.92175  14.131  \n",
       " 1.0       -1.0      3.02150  13.583  \n",
       "            1.0      3.02725  15.324  "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "theta = {\n",
    "    \"a\": 75*2*,  # 50*2 12.5=50/4 0.4=12.5*sqrt(dt)\n",
    "    \"ndt\": 0.3,  # 100\n",
    "    \"vc\": 0.0158,    # 0.4 125=50/0.4 0.012=a/dt/125\n",
    "    \"peak\": 20,  # 50=20/0.4 600=50*v \n",
    "    \"alpha\": 2,\n",
    "    \"tau\": 30,\n",
    "    \"z\": 0.5\n",
    "}\n",
    "\n",
    "dat = dmc_experimenti_simulator(\n",
    "    tuple(theta.values()),\n",
    "    DMC_trial,\n",
    "    n_samples=n_trails\n",
    ")\n",
    "dat.groupby([\"congruency\",\"response\"])[\"rt\"].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from cogms.utils_pydmc import Plot\n",
    "\n",
    "dat[\"rt\"] = dat[\"rt\"]/1000\n",
    "m_plot = Plot(dat)\n",
    "m_plot.delta()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "总结转换公式：\n",
    "- 首先计算a\n",
    "  - 首先，计算比率因子 a_ratio = a0/sqrt(dt0)*dc0 = a0/dc0 = a0/4\n",
    "  - 根据比率因子计算新的 a, a1 = sqrt(dt1)*a_ratio = a0*sqrt(dt1)/4\n",
    "  - 例如 0.4 = 0.001^0.5*50/4\n",
    "- 根据 a 调整 v\n",
    "  - 计算 v_ratio = a0/v0\n",
    "  - v1 = a1/(dt1*v_ratio) = (a1*v0)/(dt1*a0)\n",
    "  - 例如 3.2 = 0.4*0.4/0.001/50\n",
    "- 最后，调整 peak 即可\n",
    "  - p_ratio = peak0/v0\n",
    "  - peak1 = v1*p_ratio = peak0*v1/v0\n",
    "  - 例如 160 = 20*3.2/0.4"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "evans2020的选择"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "09740347e04e4372b4e0771862f50f37",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=50, description='peak', min=1), FloatSlider(value=3.0, description='shap…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from cogms.drift_function import DMC_drift\n",
    "\n",
    "@njit(fastmath=True)\n",
    "def gamma_dists(t: float, peak: float, shape: float, tau: float) -> float:\n",
    "\n",
    "    t = max(t, 0.01)\n",
    "    term1 = peak * np.exp(-t / tau)\n",
    "    term2 = np.power((t * np.e) / ((shape - 1) * tau), (shape - 1))\n",
    "    y = term1 * term2\n",
    "\n",
    "    return y\n",
    "\n",
    "\n",
    "def plot(peak, shape, tau):\n",
    "    tmax = 1.5\n",
    "    dt=0.01\n",
    "    ts = np.linspace(0, tmax, int(tmax/dt))\n",
    "    xa = [gamma_dists(step, peak, shape, tau) for step in ts]\n",
    "\n",
    "    fig, (ax1,ax2) = plt.subplots(2, 1, figsize=(7, 5))\n",
    "    ax1.plot(ts, xa)\n",
    "    ax1.set_ylabel(\"Evidence\")\n",
    "\n",
    "    ua = [DMC_drift(step, 0, peak, shape, tau) for step in ts]\n",
    "    # 为 ax2添加 y=0的横线\n",
    "    ax2.axhline(y=0, color='k', linestyle='--')\n",
    "    ax2.plot(ts, ua)\n",
    "    ax2.set_ylabel(\"Time dependent drfit\")\n",
    "\n",
    "    ax2.set_xlabel(\"Time Steps\")\n",
    "    fig.suptitle(\"Automatic evidence accumulation process\")\n",
    "    plt.tight_layout() \n",
    "\n",
    "interact(\n",
    "    plot,\n",
    "    peak=(1, 100, 1),\n",
    "    shape=(1, 5, 0.01),  # (1-5) max 100\n",
    "    tau=(10, 200, 1)  # (10-200)     max 400\n",
    ")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "自己测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c48916cd0efa449b87ef93ac31ea36d1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=100, description='peak', max=200, min=1), FloatSlider(value=25.55, descr…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from cogms.drift_function import DMC_drift\n",
    "\n",
    "@njit(fastmath=True)\n",
    "def gamma_dists(t: float, peak: float, shape: float, tau: float) -> float:\n",
    "\n",
    "    t = max(t, 0.01)\n",
    "    term1 = peak * np.exp(-t / tau)\n",
    "    term2 = np.power((t * np.e) / ((shape - 1) * tau), (shape - 1))\n",
    "    y = term1 * term2\n",
    "\n",
    "    return y\n",
    "\n",
    "\n",
    "def plot(peak, shape, tau):\n",
    "    tmax = 1.5\n",
    "    dt=0.001\n",
    "    ts = np.linspace(0, tmax, int(tmax/dt))\n",
    "    xa = [gamma_dists(step*1000, peak, shape, tau) for step in ts]\n",
    "\n",
    "    fig, (ax1,ax2) = plt.subplots(2, 1, figsize=(7, 5))\n",
    "    ax1.plot(ts, xa)\n",
    "    ax1.set_ylabel(\"Evidence\")\n",
    "\n",
    "    ua = [DMC_drift(step*1000, 0, peak, shape, tau) for step in ts]\n",
    "    # 为 ax2添加 y=0的横线\n",
    "    ax2.axhline(y=0, color='k', linestyle='--')\n",
    "    ax2.plot(ts, ua)\n",
    "    ax2.set_ylabel(\"Time dependent drfit\")\n",
    "    print(ua[:10])\n",
    "\n",
    "    ax2.set_xlabel(\"Time Steps\")\n",
    "    fig.suptitle(\"Automatic evidence accumulation process\")\n",
    "    plt.tight_layout() \n",
    "\n",
    "interact(\n",
    "    plot,\n",
    "    peak=(1, 200, 1),\n",
    "    shape=(1.1, 50, 0.01),  # (1-5) max 100\n",
    "    tau=(1, 500, 1)  # (10-200)     max 400\n",
    ")\n",
    "plt.show()\n",
    "# 1.8 (12,500)                       3 peak\n",
    "# 2 (10,500)  20                     0.5 peak\n",
    "# 5 (4,500)      10 peak  5 step     0.08 peak\n",
    "# 9 (3-4,250)     7peak   5step      0.02 peak 1s\n",
    "# 14.2 (2-3,200)  6-10 peak 5 step   \n",
    "# 20.45 (2,150)   8 peak 5 step\n",
    "\n",
    "# (1.7,7) 500\n",
    "\n",
    "# >1.5 500  [5.18, 3.64, 2.95, 2.54, 2.2]\n",
    "# >9   500  0.6s  0.02peak\n",
    "# >1.6 250 [5.34, 4.01, 3.37, 2.97, 2.69]\n",
    "# >12  250  0.5s  0.06peak\n",
    "# >22  100  0.8s  0.10peak"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SSP"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### drift"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "white 2018 flankr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0b57397fd7194378a82f450310e442ed",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=0.5, description='p', max=1.0), FloatSlider(value=1.8, description='sd…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(p, sda, rd):\n",
    "  ts = np.linspace(0, 1000, 1000)\n",
    "  drift = [cogms.SSP_drift(t, p=p, sda=sda, rd=rd) for t in ts]\n",
    "  plt.title(f\"SSP drift: p={p}, sda={sda}, rd={rd:.3f}\")\n",
    "  plt.plot(ts, drift)\n",
    "\n",
    "interact(plot, p = (0.0, 1, 0.1), sda = (1, 2.6, 0.1), rd=(0.01, 0.026, 0.001))\n",
    "plt.show()\n",
    "# p = 1\n",
    "# 如果 rd = 1，sda =1 表明，需要1s重新回到 v=1，那么 v0大概在-0.2\n",
    "#   sda=1, rd=0.5  1.7s v0=-0.2\n",
    "# 如果 sda = 0.3.rd=0.3，需要0.5s。v0=0.8\n",
    "#   sda=0.3, rd=1, 需要0.2s。v0=0.8\n",
    "# sda=rd=0.5, 0.6s v0=0.35\n",
    "#   sda=0.5, rd=0.3, 1s v0=0.35\n",
    "\n",
    "# 至少大于5steps\n",
    "# sda =1\n",
    "#    rd =26, s=3\n",
    "#    rd =20 s=4   20\n",
    "#    rd =15 s=5   15倍\n",
    "# sda =2\n",
    "#    rd =42 s=4   21\n",
    "#    rd =33 s=5   16倍\n",
    "# sda =5\n",
    "#    rd =110 s=4  22\n",
    "#    rd =90 s=5   18倍\n",
    "# sda =10\n",
    "#    rd =220 s=4  22\n",
    "#    rd =175 s=5  17倍\n",
    "# sda =20\n",
    "#    rd =445 s=4  22\n",
    "#    rd =355 s=5  17倍"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "等价变化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a39f5ae2b3bd4e9597c515518f077061",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=0.37, description='p', max=0.55, min=0.2, step=0.01), FloatSlider(valu…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(p, sda, rd):\n",
    "  # ts from milliseconds to seconds\n",
    "  ts = np.linspace(0, 1, 1000)\n",
    "  drift = [cogms.SSP_drift(t, p=p, sda=sda, rd=rd) for t in ts]\n",
    "  plt.title(f\"SSP drift: p={p}, sda={sda}, rd={rd:.3f}\")\n",
    "  plt.plot(ts, drift)\n",
    "\n",
    "# then the rd will be times 1000\n",
    "interact(plot, p = (0.2, 0.55, 0.01), sda = (1, 2.6, 0.1), rd=(10, 26, 0.1))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "lafollette2024conference\n",
    "\n",
    "有问题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import numpy as np\n",
    "# import math\n",
    "# from scipy.special import erf  # Use scipy's erf for vectorization\n",
    "# import matplotlib.pyplot as plt\n",
    "# from ipywidgets import interact, FloatSlider, ToggleButtons\n",
    "\n",
    "# def SSP_delta_original(t, p, sd_0, sd_r, congruency='congruent'):\n",
    "#     \"\"\"\n",
    "#     Calculate delta based on the original logic provided.\n",
    "\n",
    "#     Parameters:\n",
    "#     - t: Time point (scalar or array-like), from 0 to 1.\n",
    "#     - p: Probability parameter.\n",
    "#     - sd_0: Initial standard deviation.\n",
    "#     - sd_r: Decay rate.\n",
    "#     - tau: Threshold time for decay onset (default 0.2).\n",
    "#     - congruency: String, either 'congruent' or 'incongruent'.\n",
    "\n",
    "#     Returns:\n",
    "#     - delta: Drift rate at time t (scalar or array).\n",
    "#     \"\"\"\n",
    "#     t_arr = np.asarray(t)\n",
    "#     sd = sd_0 - (sd_r * t_arr)\n",
    "#     sd = np.maximum(sd, 0.001) # Clip sd to 0.001\n",
    "\n",
    "#     # Use scipy.special.erf for vectorized operation\n",
    "#     s_ta = ((1 + erf((.5 - 0) / sd / np.sqrt(2))) / 2) - ((1 + erf((-.5 - 0) / sd / np.sqrt(2))) / 2)\n",
    "#     s_fl = 1 - s_ta\n",
    "\n",
    "#     if congruency == 'incongruent':\n",
    "#         delta = s_ta * p - s_fl * p\n",
    "#     else: # congruent\n",
    "#         delta = s_ta * p + s_fl * p\n",
    "\n",
    "#     if np.isscalar(t):\n",
    "#         return float(delta)\n",
    "#     return delta\n",
    "\n",
    "# def plot_delta_original(p, sd_0, sd_r, congruency_str):\n",
    "#     \"\"\"\n",
    "#     Plot delta over time t from 0 to 1 with steps of 0.01 using the original function.\n",
    "#     \"\"\"\n",
    "#     ts = np.linspace(0, 1, 101) # 0 to 1, step 0.01\n",
    "#     deltas = SSP_delta_original(ts, p=p, sd_0=sd_0, sd_r=sd_r, congruency=congruency_str)\n",
    "\n",
    "#     plt.figure(figsize=(10, 6))\n",
    "#     plt.plot(ts, deltas, label=f'Original Logic (Type: {congruency_str.capitalize()})', marker='', linestyle='-')\n",
    "#     plt.xlabel('Time (t)')\n",
    "#     plt.ylabel('Delta (δ)')\n",
    "#     plt.title(f'Delta over Time (p={p:.2f}, sd_0={sd_0:.2f}, sd_r={sd_r:.3f})')\n",
    "#     plt.grid(True, linestyle='--', alpha=0.6)\n",
    "#     plt.legend()\n",
    "#     plt.tight_layout()\n",
    "#     plt.show()\n",
    "\n",
    "# # Define the congruency options\n",
    "# congruency_options = ToggleButtons(\n",
    "#     options=['congruent', 'incongruent'],\n",
    "#     description='Congruency:',\n",
    "#     disabled=False,\n",
    "#     button_style='', # 'success', 'info', 'warning', 'danger' or ''\n",
    "#     tooltips=['Congruent Trial', 'Incongruent Trial'],\n",
    "#     # icons=['check', 'times'] # Optional icons\n",
    "# )\n",
    "\n",
    "# # Create the interactive plot for the original function\n",
    "# interact(\n",
    "#     plot_delta_original,\n",
    "#     p=FloatSlider(value=0.375, min=0.2, max=0.55, step=0.01, description='p:'),\n",
    "#     sd_0=FloatSlider(value=1.8, min=0.1, max=2.6, step=0.01, description='sd_0:'),\n",
    "#     sd_r=FloatSlider(value=0.013, min=0.01, max=0.026, step=0.0001, description='sd_r:'),\n",
    "#     congruency_str=congruency_options\n",
    "# )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "flankerR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "175a0c02ff9349bd8aed23878cbf5daf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=0.3, description='p:', max=0.55, min=0.05, step=0.01), FloatSlider(val…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.plot_drift_comparison(p, sda, rd, trial_type)>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy.stats import norm\n",
    "import matplotlib.pyplot as plt\n",
    "from ipywidgets import interact, FloatSlider\n",
    "\n",
    "def SSP_drift_cpp_implementation(t, p, sda, rd, trial_type=1, dt=1.0):\n",
    "    \"\"\"\n",
    "    Calculate the drift rate delta at time t based on the C++ SSP model logic.\n",
    "\n",
    "    Parameters:\n",
    "    - t: Time point (scalar or array-like), representing discrete steps starting from 0.\n",
    "    - p: Perceptual input strength (scalar).\n",
    "    - sda: Initial standard deviation (sd_0).\n",
    "    - rd: Decay rate parameter.\n",
    "    - trial_type: 1 for congruent, 2 for incongruent. Default is 1.\n",
    "    - dt: Time step size for the diffusion process (scalar). Default is 1.0.\n",
    "\n",
    "    Returns:\n",
    "    - drift: The drift rate at time t. If t is an array, returns an array of same shape.\n",
    "    \"\"\"\n",
    "    t_arr = np.asarray(t)\n",
    "    # 1. Update diffusion step number (t is already the input, so t = t + 1.0 becomes new_t = old_t + 1)\n",
    "    # If t represents the *current* step number, then the sd is calculated based on the *current* t.\n",
    "    # If t represents the *time* at the *start* of the step, then sd is calculated at the start.\n",
    "    # The C++ code does t=t+1, then calculates sd. If t starts at 0, the first sd calc is for step 1.\n",
    "    # To match this, if t=0 is step 0, we calculate sd for step t+1, so sd uses (t+1).\n",
    "    # Let's assume t represents the step number *at the start of the step* for direct translation.\n",
    "    # So sd_t = sda - (rd * t), where t is the step number starting from 0.\n",
    "    # If the user provides t from 0 to 1, we need to scale it or treat it differently.\n",
    "    # The C++ code likely uses integer steps. Let's keep t as the step number for this function.\n",
    "    # For plotting, we might need to adapt this.\n",
    "    \n",
    "    # Calculate current sd of spotlight (t is the step number)\n",
    "    sd_t = sda - (rd * t_arr)\n",
    "    # Clip min sd to 0.001\n",
    "    sd_t = np.maximum(sd_t, 0.001)\n",
    "\n",
    "    # Find area of spotlight over target and flanker using CDF\n",
    "    # a_target = P(-0.5 < X < 0.5) where X ~ N(0, sd_t^2)\n",
    "    a_target = norm.cdf(0.5, loc=0.0, scale=sd_t) - norm.cdf(-0.5, loc=0.0, scale=sd_t)\n",
    "    # a_flanker = P(X > 0.5) where X ~ N(0, sd_t^2) (approximated by P(X > 0.5))\n",
    "    # norm.cdf(10.0, ...) is essentially 1.0, so P(X>0.5) = 1 - P(X<=0.5)\n",
    "    a_flanker = norm.cdf(10.0, loc=0.0, scale=sd_t) - norm.cdf(0.5, loc=0.0, scale=sd_t)\n",
    "    # a_flanker = 1 - norm.cdf(0.5, loc=0.0, scale=sd_t) # Alternative calculation\n",
    "\n",
    "    # Get perceptual input for targets and flanker\n",
    "    p_target = p\n",
    "    p_flanker = p\n",
    "\n",
    "    # Flip the sign if current trial is incongruent (trial_type == 2)\n",
    "    mask_incongruent = (trial_type == 2)\n",
    "    if np.isscalar(mask_incongruent):\n",
    "        if mask_incongruent:\n",
    "            p_flanker = -p_flanker\n",
    "    else:\n",
    "        # Handle vectorized trial_type if necessary\n",
    "        p_flanker = np.where(mask_incongruent, -p, p_flanker)\n",
    "\n",
    "    # Calculate current evidence (mu)\n",
    "    mu_target = (p_target * a_target) * dt\n",
    "    mu_flanker = ((2 * p_flanker) * a_flanker) * dt\n",
    "\n",
    "    # Calculate current drift rate\n",
    "    drift = mu_target + mu_flanker\n",
    "\n",
    "    # If input t was a scalar, return a scalar\n",
    "    if np.isscalar(t):\n",
    "        return float(drift)\n",
    "\n",
    "    return drift\n",
    "\n",
    "def plot_drift_comparison(p, sda, rd, trial_type):\n",
    "    \"\"\"\n",
    "    Plot the drift rate over time using both the old Python function (if available)\n",
    "    and the new C++ based function for comparison.\n",
    "    \"\"\"\n",
    "    # Use integer steps from 0 to 100 (or another range that makes sense for discrete steps)\n",
    "    # Or map continuous t [0, 1] to steps. Let's map [0, 1] to steps 0 to 100 for comparison.\n",
    "    # This means dt_real = 0.01 for continuous time t.\n",
    "    steps = np.arange(0, 101) # 0 to 100 inclusive -> 101 steps\n",
    "    # Map steps to time range [0, 1] for visualization\n",
    "    ts_mapped = steps * 0.01 \n",
    "    dt_diffusion = 1.0 # This is the dt used inside the drift calculation, corresponds to a single step\n",
    "\n",
    "    drift_cpp_values = SSP_drift_cpp_implementation(steps, p=p, sda=sda, rd=rd, trial_type=trial_type, dt=dt_diffusion)\n",
    "\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.plot(ts_mapped, drift_cpp_values, label=f'C++ Style (Type: {trial_type})', marker='', linestyle='-')\n",
    "    plt.xlabel('Time (mapped from steps 0-100)')\n",
    "    plt.ylabel('Drift Rate δ')\n",
    "    plt.title(f'Drift Rate over Time (p={p:.2f}, sda={sda:.2f}, rd={rd:.3f}, Type={trial_type})')\n",
    "    plt.grid(True, linestyle='--', alpha=0.6)\n",
    "    plt.legend()\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "# Create the interactive plot for the C++ based function\n",
    "interact(\n",
    "    plot_drift_comparison,\n",
    "    p=FloatSlider(value=0.3, min=0.05, max=0.55, step=0.01, description='p:'),\n",
    "    sda=FloatSlider(value=2.0, min=0.5, max=3.0, step=0.1, description='sda:'),\n",
    "    rd=FloatSlider(value=0.02, min=0.001, max=0.05, step=0.001, description='rd:'),\n",
    "    trial_type=FloatSlider(value=1, min=1, max=2, step=1, description='Trial Type (1=C, 2=I):')\n",
    ")\n",
    "\n",
    "# Example usage of the function for a single point\n",
    "# print(SSP_drift_cpp_implementation(t=50, p=0.3, sda=2.0, rd=0.02, trial_type=2, dt=1.0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "08286045272f4189ba067352da6596a5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=0.3, description='p:', max=0.55, min=0.05, step=0.01), FloatSlider(val…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.plot_drift_numba(p, sda, rd)>"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from numba import njit\n",
    "from numba_stats import norm # Ensure numba_stats is installed\n",
    "\n",
    "@njit(fastmath=True)\n",
    "def SSP_drift(t: float, p: float, sda: float, rd: float, dt: float = 1.0) -> float:\n",
    "    \"\"\"Drift function of Spotlight Shrinkage model for Diffusion model in conflict tasks,\n",
    "       based on C++ implementation logic.\n",
    "\n",
    "    Args:\n",
    "        t (float): Time step number (discrete step, e.g., 0, 1, 2, ...). If using continuous time [0,1],\n",
    "                   scale appropriately (e.g., t=0.5 maps to step 50 if dt_real=0.01).\n",
    "        p (float): Perceptual input strength.\n",
    "        sda (float): Initial standard deviation of the spotlight.\n",
    "        rd (float): Reduction rate of the spotlight standard deviation.\n",
    "        trial_type (int): 1 for Congruent, 2 for Incongruent trial.\n",
    "        dt (float, optional): Time step size for the diffusion process. Defaults to 1.0.\n",
    "\n",
    "    Returns:\n",
    "        float: Scalar drift rate for the given time step.\n",
    "    \"\"\"\n",
    "    # Calculate current sd of spotlight\n",
    "    sd_t = sda - (rd * t)\n",
    "    sd_t = max(sd_t, 0.001)\n",
    "\n",
    "    x = np.array([0.5], dtype=np.float64) # Use float64 for consistency with norm.cdf\n",
    "    # Find area of spotlight over target and flanker\n",
    "    # NOTE numba_stats: norm.cdf requires x as np.array, mu and sigma as scalars\n",
    "    a_target = norm.cdf(x, 0.0, sd_t)[0] - norm.cdf(-x, 0.0, sd_t)[0]\n",
    "    # C++ logic: a_flanker is area above 0.5, which is 1 - P(X <= 0.5)\n",
    "    # Since P(X <= 0.5) = norm.cdf(0.5, 0.0, sd_t), then P(X > 0.5) = 1 - norm.cdf(0.5, 0.0, sd_t)\n",
    "    \n",
    "    # # norm.cdf(10.0, 0.0, sd_t) is effectively 1.0, so a_flanker = 1 - norm.cdf(0.5, ...)\n",
    "    # # a_flanker = 1.0 - norm.cdf(x, 0.0, sd_t)[0] # This calculates P(X > 0.5)\n",
    "    # a_flanker = 1 - a_target\n",
    "    # # Get perceptual input for flanker\n",
    "    # p_flanker = -p\n",
    "    # # Calculate current evidence (mu)\n",
    "    # mu_target = (p * a_target)\n",
    "    # mu_flanker = ((2.0 * p_flanker) * a_flanker)\n",
    "    # # Calculate current drift rate\n",
    "    # drift = mu_target + mu_flanker\n",
    "\n",
    "    drift = 2 * p * (a_target - 0.5)\n",
    "\n",
    "    return drift\n",
    "\n",
    "# Example usage (uncomment if running directly):\n",
    "# result = SSP_drift(t=50.0, p=0.3, sda=2.0, rd=0.02, trial_type=1, dt=1.0)\n",
    "# print(f\"Drift rate: {result}\")\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from ipywidgets import interact, FloatSlider\n",
    "\n",
    "def plot_drift_numba(p, sda, rd):\n",
    "    \"\"\"\n",
    "    Plot the drift rate over time using the NUMBA SSP drift function.\n",
    "    Maps continuous time t from 0 to 1 to discrete steps 0 to 100.\n",
    "    \"\"\"\n",
    "    # Use integer steps from 0 to 100 (or another range that makes sense for discrete steps)\n",
    "    steps = np.linspace(0, 1000, 1000)\n",
    "\n",
    "    drift_values = np.array([SSP_drift(step, p=p, sda=sda, rd=rd, ) for step in steps])\n",
    "    \n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.plot(steps, drift_values, marker='', linestyle='-')\n",
    "    plt.xlabel('Time (mapped from steps 0-100)')\n",
    "    plt.ylabel('Drift Rate δ')\n",
    "    plt.title(f'Drift Rate over Time (p={p:.2f}, sda={sda:.2f}, rd={rd:.3f})')\n",
    "    plt.grid(True, linestyle='--', alpha=0.6)\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "# Create the interactive plot for the NUMBA function\n",
    "interact(\n",
    "    plot_drift_numba,\n",
    "    p=FloatSlider(value=0.3, min=0.05, max=0.55, step=0.01, description='p:'),\n",
    "    sda=FloatSlider(value=2.8, min=0.5, max=3.0, step=0.1, description='sda:'),\n",
    "    rd=FloatSlider(value=0.008, min=0.001, max=0.05, step=0.001, description='rd:')\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b6dc4596be5543c0989d92df9673a365",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=50, description='ntrials', max=150, min=-50), FloatSlider(value=1.5, des…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(ntrials, a, ndt, z, p, sda, rd, congruency):\n",
    "  cogms.plot_DDM(ntrials, cogms.SSP_trial, theta=(a, ndt, p, sda, rd, z), congruency=congruency)\n",
    "\n",
    "interact(plot, ntrials=50, a=(0.2, 3, 0.1), ndt = 0, z=0.5, p = (0.0, 3, 0.1), sda = (0.1, 2, 0.1), rd=(0.1, 2, 0.1), congruency = switch_widget)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "de0da90d43ac4dc18dfaf1b2da95002c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=200, description='ntrials', max=600, min=-200), FloatSlider(value=0.05, …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(ntrials, a, ndt, z, p, sda, rd, congruency):\n",
    "  cogms.plot_DDM(ntrials, cogms.SSP_trial, theta=(a, ndt, p, sda, rd, z), congruency=congruency, dt=0.01,dc=0.1,max_steps=150)\n",
    "\n",
    "interact(plot, ntrials=200, a=(0.01, 0.10, 0.01), ndt = 0, z=0.5, p = (0.1, 1, 0.1), sda = (1, 30, 1), rd=(10, 300, 1), congruency = switch_widget)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### data check\n",
    "\n",
    "```\n",
    "flankr \n",
    "var = 0.01 >> dc = 0.1 \n",
    "dt = 0.001\n",
    "a=0.05 ter=0.3 p=0.4 sda=1.5 rd=0.04\n",
    "  congruency  accuracy     n rt_mean  rt_sd\n",
    "  <chr>          <dbl> <int>   <dbl>  <dbl>\n",
    "1 congruent          0   142   0.427 0.0859\n",
    "2 congruent          1  9858   0.426 0.0827\n",
    "3 incongruent        0   414   0.396 0.0765\n",
    "4 incongruent        1  9586   0.454 0.0902\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>res</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.0</th>\n",
       "      <td>433.0</td>\n",
       "      <td>0.394520</td>\n",
       "      <td>0.072932</td>\n",
       "      <td>0.317</td>\n",
       "      <td>0.347</td>\n",
       "      <td>0.372</td>\n",
       "      <td>0.423</td>\n",
       "      <td>0.809</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>9567.0</td>\n",
       "      <td>0.453281</td>\n",
       "      <td>0.089182</td>\n",
       "      <td>0.322</td>\n",
       "      <td>0.390</td>\n",
       "      <td>0.432</td>\n",
       "      <td>0.492</td>\n",
       "      <td>1.234</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rt                                                       \n",
       "       count      mean       std    min    25%    50%    75%    max\n",
       "res                                                                \n",
       "-1.0   433.0  0.394520  0.072932  0.317  0.347  0.372  0.423  0.809\n",
       " 1.0  9567.0  0.453281  0.089182  0.322  0.390  0.432  0.492  1.234"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params={\n",
    "  \"a\":0.05*2,\n",
    "  \"ter\":0.3,\n",
    "  \"p\":0.4,\n",
    "  \"sd.start\":1.5, # 1.5\n",
    "  \"rate\": 40,     # 40\n",
    "  \"z\":0.50\n",
    "}\n",
    "N=10000\n",
    "\n",
    "aa = [cogms.SSP_trial(theta=tuple(params.values()),congruency=-1,dc=0.1,dt=0.001,max_steps=2000)[:2] for i in range(N)]\n",
    "pd.DataFrame(aa, columns=[\"rt\",\"res\"]).groupby(\"res\").describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>res</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.0</th>\n",
       "      <td>146.0</td>\n",
       "      <td>0.423849</td>\n",
       "      <td>0.075408</td>\n",
       "      <td>0.322</td>\n",
       "      <td>0.37325</td>\n",
       "      <td>0.406</td>\n",
       "      <td>0.4635</td>\n",
       "      <td>0.780</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>9854.0</td>\n",
       "      <td>0.425465</td>\n",
       "      <td>0.082894</td>\n",
       "      <td>0.314</td>\n",
       "      <td>0.36800</td>\n",
       "      <td>0.403</td>\n",
       "      <td>0.4590</td>\n",
       "      <td>1.305</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rt                                                          \n",
       "       count      mean       std    min      25%    50%     75%    max\n",
       "res                                                                   \n",
       "-1.0   146.0  0.423849  0.075408  0.322  0.37325  0.406  0.4635  0.780\n",
       " 1.0  9854.0  0.425465  0.082894  0.314  0.36800  0.403  0.4590  1.305"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aa = [cogms.SSP_trial(theta=tuple(params.values()),congruency=1,dc=0.1,dt=0.001,max_steps=2000)[:2] for i in range(N)]\n",
    "pd.DataFrame(aa, columns=[\"rt\",\"res\"]).groupby(\"res\").describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "映射变换到 dc=1\n",
    "\n",
    "实际上就是 sqrt(dt)*dc = 0.0316 多了 10倍\n",
    "\n",
    "- 从 a 开始：a 多10倍\n",
    "  - a1 = a0/*dc0 * dc1 = 10a0\n",
    "- 影响 v，v变为\n",
    "  - v1 = v0/a0 * a1 = 10v0\n",
    "- 不影响 sda 和 rd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>res</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.0</th>\n",
       "      <td>423.0</td>\n",
       "      <td>0.401470</td>\n",
       "      <td>0.097732</td>\n",
       "      <td>0.313</td>\n",
       "      <td>0.348</td>\n",
       "      <td>0.375</td>\n",
       "      <td>0.4225</td>\n",
       "      <td>1.629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>9577.0</td>\n",
       "      <td>0.452239</td>\n",
       "      <td>0.087778</td>\n",
       "      <td>0.322</td>\n",
       "      <td>0.391</td>\n",
       "      <td>0.431</td>\n",
       "      <td>0.4920</td>\n",
       "      <td>1.270</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rt                                                        \n",
       "       count      mean       std    min    25%    50%     75%    max\n",
       "res                                                                 \n",
       "-1.0   423.0  0.401470  0.097732  0.313  0.348  0.375  0.4225  1.629\n",
       " 1.0  9577.0  0.452239  0.087778  0.322  0.391  0.431  0.4920  1.270"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params={\n",
    "  \"a\":0.5*2,\n",
    "  \"ter\":0.3,\n",
    "  \"p\":4,\n",
    "  \"sd.start\":1.5,\n",
    "  \"rate\":40,\n",
    "  \"z\":0.50\n",
    "}\n",
    "\n",
    "aa = [cogms.SSP_trial(theta=tuple(params.values()),congruency=-1,dc=1,dt=0.001,max_steps=2000)[:2] for i in range(N)]\n",
    "pd.DataFrame(aa, columns=[\"rt\",\"res\"]).groupby(\"res\").describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## DSTP\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "data check \n",
    "\n",
    "flankr:\n",
    "A, C, driftTarget, driftFlanker, diftStimSelection, driftRS2, ter\n",
    "parms = c(0.070, 0.086, 0.045, 0.065, 0.368, 1.575, 0.225)\n",
    "\n",
    "  congruency  accuracy     n rt_mean  rt_sd\n",
    "  <chr>          <dbl> <int>   <dbl>  <dbl>\n",
    "1 congruent          0   515   0.405 0.0954\n",
    "2 congruent          1  9485   0.450 0.104\n",
    "3 incongruent        0  1705   0.415 0.106 \n",
    "4 incongruent        1  8295   0.471 0.110"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>res</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.0</th>\n",
       "      <td>1463.0</td>\n",
       "      <td>0.419308</td>\n",
       "      <td>0.101970</td>\n",
       "      <td>0.258</td>\n",
       "      <td>0.345</td>\n",
       "      <td>0.399</td>\n",
       "      <td>0.467</td>\n",
       "      <td>0.985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>8537.0</td>\n",
       "      <td>0.467845</td>\n",
       "      <td>0.108538</td>\n",
       "      <td>0.260</td>\n",
       "      <td>0.392</td>\n",
       "      <td>0.446</td>\n",
       "      <td>0.521</td>\n",
       "      <td>1.326</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rt                                                       \n",
       "       count      mean       std    min    25%    50%    75%    max\n",
       "res                                                                \n",
       "-1.0  1463.0  0.419308  0.101970  0.258  0.345  0.399  0.467  0.985\n",
       " 1.0  8537.0  0.467845  0.108538  0.260  0.392  0.446  0.521  1.326"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from cogms.simulators import DSTP_trial\n",
    "\n",
    "# a, ndt, vta, vfl, vss, vp2, ass, zss, z\n",
    "params = {\n",
    "    \"a\": 0.07 * 2,\n",
    "    \"ndt\":0.225,\n",
    "    \"vta\":0.045,\n",
    "    \"vfl\":0.065,\n",
    "    \"vss\":0.368,\n",
    "    \"vp2\":1.575,\n",
    "    \"ass\":0.086*2, # C\n",
    "    \"zss\":0.5,\n",
    "    \"z\":0.5\n",
    "}\n",
    "N = 10000\n",
    "\n",
    "aa = [\n",
    "    DSTP_trial(\n",
    "        theta=tuple(params.values()),\n",
    "        congruency=-1,\n",
    "        dc=0.1,\n",
    "        dt=0.001,\n",
    "        max_steps=2000\n",
    "    )[:2] for i in range(N)\n",
    "]\n",
    "pd.DataFrame(aa, columns=[\"rt\", \"res\"]).groupby(\"res\").describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>res</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.0</th>\n",
       "      <td>544.0</td>\n",
       "      <td>0.410384</td>\n",
       "      <td>0.098330</td>\n",
       "      <td>0.267</td>\n",
       "      <td>0.342</td>\n",
       "      <td>0.3865</td>\n",
       "      <td>0.460</td>\n",
       "      <td>0.895</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>9456.0</td>\n",
       "      <td>0.450379</td>\n",
       "      <td>0.105992</td>\n",
       "      <td>0.256</td>\n",
       "      <td>0.377</td>\n",
       "      <td>0.4300</td>\n",
       "      <td>0.503</td>\n",
       "      <td>1.318</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rt                                                        \n",
       "       count      mean       std    min    25%     50%    75%    max\n",
       "res                                                                 \n",
       "-1.0   544.0  0.410384  0.098330  0.267  0.342  0.3865  0.460  0.895\n",
       " 1.0  9456.0  0.450379  0.105992  0.256  0.377  0.4300  0.503  1.318"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aa = [\n",
    "    DSTP_trial(\n",
    "        theta=tuple(params.values()),\n",
    "        congruency=1,\n",
    "        dc=0.1,\n",
    "        dt=0.001,\n",
    "        max_steps=2000\n",
    "    )[:2] for i in range(N)\n",
    "]\n",
    "pd.DataFrame(aa, columns=[\"rt\", \"res\"]).groupby(\"res\").describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "转化为 dc=1\n",
    "\n",
    "- a1 = 10*a0\n",
    "- 4 个v 翻10倍\n",
    "- ass 也 翻10倍"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>res</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.0</th>\n",
       "      <td>1494.0</td>\n",
       "      <td>0.411339</td>\n",
       "      <td>0.105519</td>\n",
       "      <td>0.259</td>\n",
       "      <td>0.33725</td>\n",
       "      <td>0.3855</td>\n",
       "      <td>0.45475</td>\n",
       "      <td>1.302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>8506.0</td>\n",
       "      <td>0.470741</td>\n",
       "      <td>0.109958</td>\n",
       "      <td>0.259</td>\n",
       "      <td>0.39400</td>\n",
       "      <td>0.4500</td>\n",
       "      <td>0.52400</td>\n",
       "      <td>1.217</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rt                                                            \n",
       "       count      mean       std    min      25%     50%      75%    max\n",
       "res                                                                     \n",
       "-1.0  1494.0  0.411339  0.105519  0.259  0.33725  0.3855  0.45475  1.302\n",
       " 1.0  8506.0  0.470741  0.109958  0.259  0.39400  0.4500  0.52400  1.217"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# a, ndt, vta, vfl, vss, vp2, ass, zss, z\n",
    "params = {\n",
    "    \"a\": 0.7 * 2,\n",
    "    \"ndt\":0.225,\n",
    "    \"vta\":0.45,\n",
    "    \"vfl\":0.65,\n",
    "    \"vss\":3.68,\n",
    "    \"vp2\":15.75,\n",
    "    \"ass\":0.86*2, # C\n",
    "    \"zss\":0.5,\n",
    "    \"z\":0.5\n",
    "}\n",
    "N = 10000\n",
    "\n",
    "aa = [\n",
    "    DSTP_trial(\n",
    "        theta=tuple(params.values()),\n",
    "        congruency=-1,\n",
    "        dc=1,\n",
    "        dt=0.001,\n",
    "        max_steps=2000\n",
    "    )[:2] for i in range(N)\n",
    "]\n",
    "pd.DataFrame(aa, columns=[\"rt\", \"res\"]).groupby(\"res\").describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>res</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>-1.0</th>\n",
       "      <td>551.0</td>\n",
       "      <td>0.412882</td>\n",
       "      <td>0.104335</td>\n",
       "      <td>0.266</td>\n",
       "      <td>0.341</td>\n",
       "      <td>0.384</td>\n",
       "      <td>0.458</td>\n",
       "      <td>0.904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>9449.0</td>\n",
       "      <td>0.450177</td>\n",
       "      <td>0.105045</td>\n",
       "      <td>0.257</td>\n",
       "      <td>0.376</td>\n",
       "      <td>0.430</td>\n",
       "      <td>0.501</td>\n",
       "      <td>1.273</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rt                                                       \n",
       "       count      mean       std    min    25%    50%    75%    max\n",
       "res                                                                \n",
       "-1.0   551.0  0.412882  0.104335  0.266  0.341  0.384  0.458  0.904\n",
       " 1.0  9449.0  0.450177  0.105045  0.257  0.376  0.430  0.501  1.273"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aa = [\n",
    "    DSTP_trial(\n",
    "        theta=tuple(params.values()),\n",
    "        congruency=1,\n",
    "        dc=1,\n",
    "        dt=0.001,\n",
    "        max_steps=2000\n",
    "    )[:2] for i in range(N)\n",
    "]\n",
    "pd.DataFrame(aa, columns=[\"rt\", \"res\"]).groupby(\"res\").describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "37d772ebc63f4dbe9c24ca5b571ce87a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=50, description='ntrials', max=150, min=-50), FloatSlider(value=1.5, des…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(ntrials, a, vta, vfl, vss, vp2, ass, congruency):\n",
    "  fig = plot_DDM(ntrials, DSTP_trial, a=a, ndt=0.3, z=0.5, vta=vta, vfl=vfl, vss=vss, vp2=vp2, ass=ass, zss=0.5, congruency=congruency)\n",
    "  v_views = []\n",
    "  vp2 = 0\n",
    "  for _ in range(ntrials):\n",
    "    _,_,v_view,_ = DSTP_trial(1,0.3,0.2,0.15,0.2,0.4,0.5,0.5,0.5,1)\n",
    "    if v_view[0]>0 and vp2==0:\n",
    "      vp2 = v_view[2]\n",
    "    v_views.append(v_view[0])\n",
    "\n",
    "  from matplotlib.gridspec import GridSpec\n",
    "  gs = GridSpec(3, 3, height_ratios=[1, 3, 1], hspace=0, figure=fig)\n",
    "  ax = fig.add_subplot(gs[0, 2])\n",
    "  ax.hist(v_views, bins = 30)\n",
    "  ax.set_title(f\"drift of p1={v_view[1]} and p2={vp2}\")\n",
    "  plt.legend()\n",
    "  plt.show()\n",
    "\n",
    "interact(plot, ntrials=50, a=(0.2, 3, 0.1), vta = (0.0, 3, 0.1), vfl = (0.0, 3, 0.1), vss = (0.0, 3, 0.1), ass=(0.2, 3, 0.1),vp2 = (0.0, 3, 0.1), congruency = switch_widget)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## levy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "dt,dc = 0.001,1\n",
    "alpha_diff = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.00047868696356927025"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@njit\n",
    "def draw_random_stable(alpha_diff, n = 1):\n",
    "    \n",
    "    x = []\n",
    "\n",
    "    for _ in range(n):\n",
    "        u = np.pi * (np.random.uniform() - 0.5)\n",
    "        w = np.random.exponential()\n",
    "\n",
    "        if alpha_diff == 1.0:\n",
    "            eta = np.pi / 2  # useless but kept to remain faithful to wikipedia entry\n",
    "            x.append( (1.0 / eta) * ((np.pi / 2) * np.tan(u)) ) \n",
    "        else:\n",
    "            x.append( (np.sin(alpha_diff * u) / (np.power(np.cos(u), 1 / alpha_diff))) * np.power(np.cos(u - (alpha_diff * u)) / w, (1.0 - alpha_diff) / alpha_diff) )\n",
    "    \n",
    "    return np.array(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2c23a8cae8a8413598c5416c14a5cc8c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=1.0, description='alpha_diff', max=2.0, min=1.0), Output()), _dom_clas…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.plot(alpha_diff)>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def plot(alpha_diff):\n",
    "\n",
    "    noise_samples = pow(dt, 1.0 / alpha_diff) * draw_random_stable(alpha_diff, 500)\n",
    "    sns.pointplot(noise_samples)\n",
    "\n",
    "interact(plot, alpha_diff=(1,2,0.1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([  2.,   8.,  31.,  70., 125., 116.,  98.,  36.,  12.,   2.]),\n",
       " array([-0.10489808, -0.08454375, -0.06418941, -0.04383508, -0.02348074,\n",
       "        -0.00312641,  0.01722793,  0.03758226,  0.0579366 ,  0.07829093,\n",
       "         0.09864527]),\n",
       " <BarContainer object of 10 artists>)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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HlVGRsY558YloFx00UXq1KmTqqurI8arq6vl9/ubzHe73XK73RFjqampsSzxvHk8ng75D7JRR+6vI/cmdez+6K396sj9deTepOj1d64jJ43icpJsUlKShg8frtLSUmesoaFBpaWlysnJiUdJAADAInH7E09hYaEmTZqkESNGaOTIkVq8eLGOHz+uO++8M14lAQAAS8QtoHzve9/T//3f/2nu3LkKBoMaMmSI1q9f3+TEWVu53W7NmzevyZ+eOoqO3F9H7k3q2P3RW/vVkfvryL1J8evPZc7nWh8AAIA2xJcFAgAA6xBQAACAdQgoAADAOgQUAABgHQLK3xw5ckT5+fnyeDxKTU3V5MmTdezYsbM+5oknntCoUaPk8XjkcrlUU1PTqnV///vf6+///u+VnJyszMxMLVy4MJqtnXcdp6utrVVBQYF69uypbt26KS8vL+LD9VatWiWXy9XsrfFbqTdu3Njs9mAwaHVvkpqte82aNRFzNm7cqGHDhsntduvrX/+6Vq1aFbW+GsWiv/fee08TJ05UZmamUlJSNHDgQP3Hf/xHk96ive+WLVumvn37Kjk5WdnZ2dq6detZ57/44osaMGCAkpOTNWjQIP3P//xPxHZjjObOnav09HSlpKQoEAho3759EXNa8/NrrWj2V19fr5kzZ2rQoEHq2rWrMjIydPvtt+vQoUMRa/Tt27fJPpo/f77VvUnSHXfc0aTuMWPGRMxpq30X7d7O9Lr48MMPO3Paar+1tL/3339feXl5Tn2LFy9u1Zrn8xp7TgbGGGPGjBljBg8ebLZs2WJ+97vfma9//etm4sSJZ33MokWLTHFxsSkuLjaSzGeffdbidUOhkPH5fCY/P9/s3r3bPP/88yYlJcU8/vjjce/vRz/6kcnMzDSlpaVm+/bt5uqrrzbXXHONs/3zzz83n3zyScQtNzfXfOtb33LmvPnmm0aSqaysjJh36tQpq3szxhhJZuXKlRF1f/HFF872P/7xj6ZLly6msLDQ7NmzxyxdutR06tTJrF+/Pmq9xaq/p59+2txzzz1m48aNZv/+/eaXv/ylSUlJMUuXLnXmRHvfrVmzxiQlJZkVK1aY999/30yZMsWkpqaa6urqZue/8847plOnTmbhwoVmz549Zvbs2aZz585m165dzpz58+cbr9dr1q5da9577z1zyy23mKysrIj91Jqf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v/226devX8TlbH/6059M//79TXl5uTP2ySefmJ07d5onn3zSSDKbNm0yO3fuNJ9++ul5r1tTU2N8Pp/54Q9/aHbv3m3WrFljunTpEpPLjFva349+9CPTu3dvs2HDBrN9+3aTk5NjcnJymqz91FNPmeTk5Gav9li0aJFZu3at2bdvn9m1a5f56U9/ahISEswbb7xhdW+vvPKKefLJJ82uXbvMvn37zGOPPWa6dOli5s6d68xpvMz4/vvvN3v37jXLli2L2WXG0e5v165d5uKLLzY/+MEPIi5z/PKbYLT33Zo1a4zb7TarVq0ye/bsMVOnTjWpqakmGAwaY4z54Q9/aGbNmuXMf+edd0xiYqJ55JFHzN69e828efOavcw4NTXVvPzyy+b3v/+9GTduXLOXGZ/t5xct0e7vxIkT5pZbbjGXXHKJeffddyP2U+NVf5s3bzaLFi0y7777rtm/f7/51a9+ZS6++GJz++23W93b0aNHzX333WfKysrMgQMHzBtvvGGGDRtm+vXrZ2pra5112mLfxeLfpTF/DctdunQxy5cvb/KcbbXfWtNfXV2d2blzp9m5c6dJT0839913n9m5c6fZt2/fea9pzPm/f5wNAeVvPv30UzNx4kTTrVs34/F4zJ133mmOHj3qbD9w4ICRZN58801nbN68eUZSk9vKlSvPe11jjHnvvffMddddZ9xut/na175m5s+fb0V/X3zxhbn77rtNjx49TJcuXcx3vvMd88knnzRZOycnx3z/+99v9nkXLFhgLrvsMpOcnGzS0tLMqFGjzIYNG6zv7bXXXjNDhgwx3bp1M127djWDBw82JSUlTT4D5M033zRDhgwxSUlJ5tJLL43Y9zb3d6Z/u3369HHmxGLfLV261PTu3dskJSWZkSNHmi1btjjbvvWtb5lJkyZFzP/1r39t/u7v/s4kJSWZK664wqxbty5ie0NDg5kzZ47x+XzG7Xab0aNHm8rKyog55/M7GC3R7K9xvzZ3a9zXFRUVJjs723i9XpOcnGwGDhxoHnrooYg3eRt7+/zzz82NN95oLr74YtO5c2fTp08fM2XKlIg3OGPabt9F+9+lMcY8/vjjJiUlxdTU1DTZ1pb7zZiW9Xemf3df/nyrc61pzPm/f5yNy5gvXTcJAABgAT4HBQAAWIeAAgAArENAAQAA1iGgAAAA6xBQAACAdQgoAADAOgQUAABgHQIKAACwDgEFAABYh4ACAACsQ0ABAADWIaAAAADr/D91SrHPjG9VpAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "noise_samples = np.sqrt(dt) * dc * np.random.normal(size=500)\n",
    "plt.hist(noise_samples)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Collapsing boundary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "@njit\n",
    "def angle(t=1, theta=1):\n",
    "    \"\"\"angle boundary function\n",
    "\n",
    "    Arguments\n",
    "    ---------\n",
    "        t (int, optional): _description_. Defaults to 1.\n",
    "        theta (int, optional): _description_. Defaults to 1. When t increase 1s, the boundary decrease 1.5 unit. \n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "        np.array: Array of boundary values, same length as t\n",
    "    \"\"\"\n",
    "    return np.multiply(t, (-np.sin(theta) / np.cos(theta)))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "40d91d10b812441e8b8c26645baa5b47",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=0.2, description='theta', max=2.0), FloatSlider(value=1.5, description…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "@interact(theta=(0,2,0.1), a=(0.1,2,0.1))\n",
    "def plot(theta=0.2, a=1.5):\n",
    "    t=np.arange(0, 4, 0.1)\n",
    "    y=angle(t,theta)\n",
    "    y = a + y\n",
    "    plt.plot(t, y)\n",
    "    plt.ylim(0,a+0.5)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9b279873eccf47cc8b3396fa535f6a83",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=2.0, description='Lambda', max=5.0, min=1.0), FloatSlider(value=4.0, d…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Weibull survival fun (multiplicative)\n",
    "def weibull_cdf(t=1, a=1, Lambda=1, kappa=1, delta=1):\n",
    "    \"\"\"boundary based on weibull survival function.\n",
    "\n",
    "    Arguments\n",
    "    ---------\n",
    "        t (int, optional): Defaults to 1.\n",
    "        alpha (int, optional): Defaults to 1.\n",
    "        beta (int, optional): Defaults to 1.\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "        np.array: Array of boundary values, same length as t\n",
    "    \"\"\"\n",
    "    return a - (a - np.exp(-np.power(np.divide(t, Lambda), kappa))) * (-0.5 * delta)\n",
    "\n",
    "\n",
    "@interact(Lambda=(1, 5, 0.1), kappa=(1, 5, 0.1), a=(0.1, 2, 0.1))\n",
    "def plot(Lambda=2, kappa=4, a=1.5, delta=-1):\n",
    "    t = np.arange(0, 4, 0.1)\n",
    "    a_view = weibull_cdf(t, a, Lambda, kappa, delta=delta)\n",
    "\n",
    "    plt.plot(t, a_view)\n",
    "\n",
    "    plt.ylim(0, a + 0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d5d0f7448a2245a6913ff275d948cb30",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=4.0, description='alpha', max=5.0, min=1.0), FloatSlider(value=2.0, de…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "@njit\n",
    "# Weibull survival fun (multiplicative)\n",
    "def weibull_cdf(t=1, alpha=1, beta=1):\n",
    "    \"\"\"boundary based on weibull survival function.\n",
    "\n",
    "    Arguments\n",
    "    ---------\n",
    "        t (int, optional): Defaults to 1.\n",
    "        alpha (int, optional): Defaults to 1.\n",
    "        beta (int, optional): Defaults to 1.\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "        np.array: Array of boundary values, same length as t\n",
    "    \"\"\"\n",
    "    return np.exp(-np.power(np.divide(t, beta), alpha))\n",
    "\n",
    "\n",
    "@interact(alpha=(1, 5, 0.1), beta=(1, 5, 0.1), a=(0.1, 2, 0.1))\n",
    "def plot(alpha=4, beta=2, a=1.5):\n",
    "    t = np.arange(0, 4, 0.1)\n",
    "    y = weibull_cdf(t, alpha, beta)\n",
    "    y = a * y\n",
    "    plt.plot(t, y)\n",
    "    plt.ylim(0, a + 0.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Revised-DMC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from cogms.simulators import rDMC_trial"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ef3511feaa4e411a8a1aec8174eb103b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=4.8, description='A_0', max=9.0, min=0.6), IntSlider(value=40, descrip…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dt = 0.001\n",
    "tmax = 1.5\n",
    "t = np.linspace(dt, tmax, int(tmax/dt))\n",
    "\n",
    "def plot(A_0, k, d_a, d_c, congruency):\n",
    "    \n",
    "\n",
    "    fig, axs = plt.subplots(1)\n",
    "\n",
    "    # k=2\n",
    "    # A_0=0.8\n",
    "    # d_a = 0.4\n",
    "    # d_c = 0.6\n",
    "\n",
    "    w_a = A_0 * np.exp(-k * t)\n",
    "    w_c = 1 - w_a\n",
    "\n",
    "    # axs.plot(t, w_a, label=\"auto\")\n",
    "    # axs.plot(t, w_c, label=\"control\")\n",
    "\n",
    "    v1 = w_a * d_a * congruency\n",
    "    v2 = w_c * d_c\n",
    "    # drift = v1 + v2\n",
    "    drift = w_a * (d_a * congruency - d_c) + d_c \n",
    "\n",
    "    axs.plot(t, np.cumsum(v1 * dt), label=\"auto\")\n",
    "    axs.plot(t, np.cumsum(v2 * dt), label=\"control\")\n",
    "    axs.plot(t, np.cumsum((drift) * dt), label=\"combo\")\n",
    "    plt.ylim(-0.05,0.05)\n",
    "    plt.legend()\n",
    "\n",
    "\n",
    "interact(\n",
    "    plot,\n",
    "    A_0=(0.6, 9),\n",
    "    k=(0, 80),          # k_c=2,10,20 k_i=30\n",
    "    d_a=(0.3, 0.7),\n",
    "    d_c=(0.4, 0.8),\n",
    "    congruency=switch_widget\n",
    ")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "notebookRunGroups": {
     "groupValue": "1"
    }
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "098abd60f9f34d8ca0ce2a4569f254fc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=200, description='ntrials', max=600, min=-200), FloatSlider(value=1.1, d…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(ntrials, a, ndt, A_0, k_c, k_i, d_a, d_c, congruency):\n",
    "    cogms.plot_DDM(\n",
    "        ntrials,\n",
    "        rDMC_trial,\n",
    "        theta=(a, ndt, A_0, k_c, k_i, d_a, d_c, 0.5, 0),\n",
    "        congruency=congruency,\n",
    "        dt=0.001,\n",
    "        dc=1,\n",
    "        max_steps=1500\n",
    "    )\n",
    "\n",
    "\n",
    "interact(\n",
    "    plot,\n",
    "    ntrials=200,\n",
    "    a=(0.7, 1.5),\n",
    "    ndt=(0.3, 0.37),\n",
    "    A_0=(0.6, 0.9),\n",
    "    k_c=(0, 80),\n",
    "    k_i=(20, 80),\n",
    "    d_a=(0.3, 0.7),\n",
    "    d_c=(0.4, 0.8),\n",
    "    congruency=switch_widget\n",
    ")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### data check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>congruency</th>\n",
       "      <th>choice</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">0.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.465750</td>\n",
       "      <td>0.030325</td>\n",
       "      <td>0.440</td>\n",
       "      <td>0.44825</td>\n",
       "      <td>0.457</td>\n",
       "      <td>0.4745</td>\n",
       "      <td>0.509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>4996.0</td>\n",
       "      <td>0.553696</td>\n",
       "      <td>0.127340</td>\n",
       "      <td>0.342</td>\n",
       "      <td>0.46300</td>\n",
       "      <td>0.527</td>\n",
       "      <td>0.6110</td>\n",
       "      <td>1.461</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">1.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.505000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.505</td>\n",
       "      <td>0.50500</td>\n",
       "      <td>0.505</td>\n",
       "      <td>0.5050</td>\n",
       "      <td>0.505</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>4999.0</td>\n",
       "      <td>0.510190</td>\n",
       "      <td>0.114526</td>\n",
       "      <td>0.340</td>\n",
       "      <td>0.43000</td>\n",
       "      <td>0.482</td>\n",
       "      <td>0.5600</td>\n",
       "      <td>1.218</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       rt                                                     \\\n",
       "                    count      mean       std    min      25%    50%     75%   \n",
       "congruency choice                                                              \n",
       "0.0        -1.0       4.0  0.465750  0.030325  0.440  0.44825  0.457  0.4745   \n",
       "            1.0    4996.0  0.553696  0.127340  0.342  0.46300  0.527  0.6110   \n",
       "1.0        -1.0       1.0  0.505000       NaN  0.505  0.50500  0.505  0.5050   \n",
       "            1.0    4999.0  0.510190  0.114526  0.340  0.43000  0.482  0.5600   \n",
       "\n",
       "                          \n",
       "                     max  \n",
       "congruency choice         \n",
       "0.0        -1.0    0.509  \n",
       "            1.0    1.461  \n",
       "1.0        -1.0    0.505  \n",
       "            1.0    1.218  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from cogms.utils import generate_design_matrix\n",
    "\n",
    "params = {\n",
    "    \"a\": 0.09 * 2,\n",
    "    \"ter\": 0.30,\n",
    "    \"A_0\": 0.8,\n",
    "    \"k_c\": 40,\n",
    "    \"k_i\": 90,\n",
    "    \"d_a\": 0.8,\n",
    "    \"d_c\": 0.4,\n",
    "    \"z\": 0.5,\n",
    "    \"st\": 0\n",
    "}\n",
    "N = 5000\n",
    "\n",
    "factor_config = {\"congruency\": [\"cong\", \"incong\"]}\n",
    "\n",
    "design_matrix = generate_design_matrix(factor_config, N)\n",
    "\n",
    "\n",
    "def experiment(params, context):\n",
    "\n",
    "    n_trials = int(context.shape[0])\n",
    "    out = np.zeros((n_trials, 2))\n",
    "    for n in range(n_trials):\n",
    "        \n",
    "        out[n, :] = rDMC_trial(\n",
    "            theta=params,\n",
    "            congruency=context[n, 0],\n",
    "            dc=0.1,\n",
    "            dt=0.001,\n",
    "            max_steps=2000,\n",
    "            return_NAN=\n",
    "            False  # Note: no return NAN，response determiend by the evidence relative 0\n",
    "        )[:2]\n",
    "\n",
    "    return out\n",
    "\n",
    "def test():\n",
    "    aa = experiment((tuple(params.values())), design_matrix)\n",
    "    aa = np.concatenate([aa, design_matrix], axis=1)\n",
    "    aa = pd.DataFrame(aa, columns=[\"rt\", \"choice\"] + list(factor_config.keys()))\n",
    "\n",
    "    return aa.groupby([\"congruency\", \"choice\"]).describe()\n",
    "\n",
    "test()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">rt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>congruency</th>\n",
       "      <th>choice</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">0.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>7.0</td>\n",
       "      <td>0.458286</td>\n",
       "      <td>0.073792</td>\n",
       "      <td>0.367</td>\n",
       "      <td>0.41750</td>\n",
       "      <td>0.4380</td>\n",
       "      <td>0.48650</td>\n",
       "      <td>0.595</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>4993.0</td>\n",
       "      <td>0.554595</td>\n",
       "      <td>0.124105</td>\n",
       "      <td>0.349</td>\n",
       "      <td>0.46600</td>\n",
       "      <td>0.5270</td>\n",
       "      <td>0.61600</td>\n",
       "      <td>1.802</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">1.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.531500</td>\n",
       "      <td>0.007778</td>\n",
       "      <td>0.526</td>\n",
       "      <td>0.52875</td>\n",
       "      <td>0.5315</td>\n",
       "      <td>0.53425</td>\n",
       "      <td>0.537</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>4998.0</td>\n",
       "      <td>0.512536</td>\n",
       "      <td>0.116239</td>\n",
       "      <td>0.333</td>\n",
       "      <td>0.42900</td>\n",
       "      <td>0.4850</td>\n",
       "      <td>0.56600</td>\n",
       "      <td>1.508</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       rt                                              \\\n",
       "                    count      mean       std    min      25%     50%   \n",
       "congruency choice                                                       \n",
       "0.0        -1.0       7.0  0.458286  0.073792  0.367  0.41750  0.4380   \n",
       "            1.0    4993.0  0.554595  0.124105  0.349  0.46600  0.5270   \n",
       "1.0        -1.0       2.0  0.531500  0.007778  0.526  0.52875  0.5315   \n",
       "            1.0    4998.0  0.512536  0.116239  0.333  0.42900  0.4850   \n",
       "\n",
       "                                   \n",
       "                       75%    max  \n",
       "congruency choice                  \n",
       "0.0        -1.0    0.48650  0.595  \n",
       "            1.0    0.61600  1.802  \n",
       "1.0        -1.0    0.53425  0.537  \n",
       "            1.0    0.56600  1.508  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# transform to dc=1\n",
    "\n",
    "params = {\n",
    "    \"a\": 0.9 * 2,  # a = dc1/dc0 * a0 = 0.09 * 10\n",
    "    \"ter\": 0.30,\n",
    "    \"A_0\": 0.8,\n",
    "    \"k_c\": 40,\n",
    "    \"k_i\": 90,\n",
    "    \"d_a\": 0.8,\n",
    "    \"d_c\": 0.4,\n",
    "    \"z\": 0.5,\n",
    "    \"st\": 0\n",
    "}\n",
    "N = 5000\n",
    "\n",
    "factor_config = {\"congruency\": [\"cong\", \"incong\"]}\n",
    "\n",
    "design_matrix = generate_design_matrix(factor_config, N)\n",
    "\n",
    "\n",
    "def experiment2(params, context):\n",
    "\n",
    "    n_trials = int(context.shape[0])\n",
    "    out = np.zeros((n_trials, 2))\n",
    "    for n in range(n_trials):\n",
    "        \n",
    "        out[n, :] = rDMC_trial(\n",
    "            theta=params,\n",
    "            congruency=context[n, 0],\n",
    "            dc=1,     # dc to 1 from 0.1\n",
    "            dt=0.001,\n",
    "            max_steps=2000,\n",
    "            return_NAN=\n",
    "            False  # Note: no return NAN，response determiend by the evidence relative 0\n",
    "        )[:2]\n",
    "\n",
    "    return out\n",
    "\n",
    "def test():\n",
    "    aa = experiment2((tuple(params.values())), design_matrix)\n",
    "    aa = np.concatenate([aa, design_matrix], axis=1)\n",
    "    aa = pd.DataFrame(aa, columns=[\"rt\", \"choice\"] + list(factor_config.keys()))\n",
    "\n",
    "    return aa.groupby([\"congruency\", \"choice\"]).describe()\n",
    "\n",
    "test()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SEDDM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d0b72c9553554d9cb2161ccef337a994",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=2.0, description='v1', max=5.0), FloatSlider(value=0.0, description='b…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.plot(v1, b)>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def plot(v1, b):\n",
    "    dt = 0.001\n",
    "    t = np.linspace(dt, 1, 1000)\n",
    "    v = v1 * (1 + t * b)\n",
    "\n",
    "    fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))\n",
    "\n",
    "    ax1.plot(t, v)\n",
    "    ax2.plot(t, np.cumsum(v) * dt)\n",
    "\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "interact(plot, v1=(0, 5, 0.1), b=(-1, 1, 0.1))\n",
    "# v1=1, b=±1, a 增加 ±v1/2*2=0.5\n",
    "# v1=2, b=±1, a 增加 ±v1/2*2=1\n",
    "# evidence的变化呈现 exp增加，log减少"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c57a82aa83204a9e9bc71ce47c53d7d6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=200, description='ntrials', max=600, min=-200), FloatSlider(value=2.5000…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot(ntrials, a, vc, b, congruency):\n",
    "  cogms.plot_DDM(ntrials, cogms.SEDDM_trial, theta=(a, vc, 0, 0.5, b if congruency == -1 else 0, 0), dt=0.001,noise_scale=1,max_steps=1500)\n",
    "# it assume that conflict has b\n",
    "\n",
    "interact(plot, ntrials=200, a=(0.2,5,0.1), vc=(0,5), b=(-1,1,0.1), congruency = switch_widget)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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eYWHh2vYsGHav39/zus4Px2cPn266tSpo/Lly+uuu+5SVlaWXnjhBVWvXl3VqlXTc889l+v7v/zyy2rRooXKlSun6Oho3X333Tp27JgkaeHChbrllluUmpqaU89TTz0lKe/U8yNHjmjUqFGKiopSWFiYmjdvrnnz5pXMSYVf+/Zbafx4c////k+64gp76wEAlA7GUO4bQ9HoHACAwrAs6cQJe7532bJSIa5yMmfOHDVp0kRNmjTRjTfeqDFjxujxxx8v0JVShg8frt9//13z58/XDz/8IEmKiIiQZVkaPHiwypUrp0WLFikzM1N33323hg8froULF+Y8f/v27fr22281f/58bd++XUOHDtXOnTvVuHFjLVq0SMuXL9ett96qSy+9VB07dpQkBQQEaPLkyapXr5527typu+++W+PHj9eUKVPUuXNnvfLKK3riiSe0detWSVL58uXz1J2dna0BAwbo6NGj+uCDD9SgQQNt2rSpyJcpBpySkkzfKOfyvXvusbsiAPAyjKEYQ+WDUAoAgMI4cULK5xe5Wxw7JpUrV+DDp02bphtvvFGS1L9/fx07dkwLFixQ7969L/jcMmXKqHz58goKClL16tVz9ickJOjXX3/Vzp07FR0dLUl6//33ddFFF2n16tVq166dJDOwmT59uipUqKDY2Fj16tVLW7duVXx8vAICAtSkSRM9//zzWrhwYc6A6r777sv5PjExMXrmmWd01113acqUKQoJCVFERIQcDkeues72ww8/aNWqVdq8ebMaN24sSapfv36BzxmQn+xs6ZZbpAMHpNatpddeK9T/bQAAEmMoxlD5YvkeAAA+aOvWrVq1apWuvfZaSVJQUJCGDx+u6dOnF+t1N2/erOjo6JzBlCTFxsYqMjJSmzdvztlXr149VahQIefrqKgoxcbGKiAgINe+lJSUnK9/+ukn9enTR7Vq1VKFChU0cuRIHTx4UMePHy9wfevXr1ft2rVzBlNASZgyRfruOyksTPrwQ9PgHADgmxhDuXcMxUwpAAAKo2xZ82mbXd+7gKZNm6bMzEzVqlUrZ59lWQoODtbhw4cVEBAgy7JyPScjI+OCr2tZVr5T18/eHxwcnOtxh8OR777s7GxJ0u7du3XZZZdp9OjReuaZZ1SpUiUtXbpUt912W4HqcipTpkyBjwUKYt8+6dFHzf0XX5SaNbO3HgDwWoyhGEPlg1AKAIDCcDgKNf3bDpmZmZo5c6Zeeukl9e3bN9djQ4YM0axZs9SgQQMdPXpUx48fV7n//Tzr16/PdWxISIiysrJy7YuNjVViYqL27NmT80nfpk2blJqaqmbF+N/6mjVrlJmZqZdeeinnk8CPP/74gvWcrWXLltq7d6+2bdvGbCmUiAcekI4elTp0kO6+2+5qAMCLMYZiDJUPQikAAHzMvHnzdPjwYd12222KiIjI9djQoUM1bdo0LViwQGXLltWjjz6qMWPGaNWqVbmuLCMpp1mmczp3hQoV1Lt3b7Vs2VI33HCDXnnllZwmnT169FBcXFyRa27QoIEyMzP12muvaeDAgVq2bJnefPPNPPU4ezq0atVKZcuWzXMZ4x49eqh79+4aMmSIXn75ZTVs2FBbtmyRw+FQ//79i1wf/NOCBdJHH0kBAdLUqeYWAOC7GEO5fwzFr1YAAHzMtGnT1Lt37zyDKcl8yrd+/Xrt2rVLH3zwgeLj49WiRQvNnj075/LAZx7bv39/9erVS1WrVtXs2bPlcDg0d+5cVaxYUd27d1fv3r1Vv359zZkzp1g1t27dWi+//LKef/55NW/eXLNmzdKkSZNyHdO5c2eNHj1aw4cPV9WqVfXCCy/k+1qfffaZ2rVrp+uuu06xsbEaP378BT8dBM6WnW1mSUlmhtTFF9tbDwCg9DGGcv8YymGdvRgSpSItLU0RERFKTU1VeHi43eUAAAro1KlT2rlzp2JiYhQWFmZ3OSgl5/tz5ne4few893PmSNdeK4WHSzt2SJUru/XbA4BXY/zkH0pi/MRMKQAAAOAMmZnSE0+Y+w88QCAFAEBpIZQCAAAAzvD++9K2bVKVKtL999tdDQAAvotQCgAAAPif7Gzp3/829x9+WKpQwd56AADwZYRSAAAAwP/Mm2dmSUVGSnfeaXc1AAD4NkIpAAAA4H/+8x9ze+edzJICAKC0EUoBAAAAklavlpYskYKDpTFj7K4GAADfRygFAAAASPrvf83tsGFSrVr21gIAgD8glAIAAIDfS0uTPvrI3KeXFAAA7kEoBQAAAL83e7Z0/LjUtKnUtavd1QAA4B8IpQAAgMdYuHChHA6Hjhw5IkmaMWOGIiMji/26DodDc+fOLfbrwHe99Za5HTVKcjjsrQUAgMLy1jEUoRQAAD4sOTlZY8aMUf369RUaGqro6GgNHDhQCxYsKLHv0bNnT913330l9nqAu23aJP3yixQUJI0YYXc1AABPwBjKPYLsLgAAAJSOXbt2qUuXLoqMjNQLL7ygli1bKiMjQ999953+8Y9/aMuWLW6rxbIsZWVlKSiIoQc8z+zZ5rZ/f6lKFXtrAQDYjzGU+zBTCgAAH3X33XfL4XBo1apVGjp0qBo3bqyLLrpI48aN088//yxJSkxM1KBBg1S+fHmFh4dr2LBh2r9/f85rPPXUU2rdurXef/991atXTxEREbr22mt19OhRSdLNN9+sRYsW6dVXX5XD4ZDD4dCuXbtyppB/9913iouLU2hoqJYsWaL09HSNHTtW1apVU1hYmLp27arVq1cX6uf6+uuv1bZtW4WFhal+/fqaOHGiMjMzcx7/448/1L17d4WFhSk2NlYJCQklcDbhqyzLFUpdf729tQAAPANjKPeNoXwzagMAoJRYlnTihD3fu2zZgve6OXTokObPn6/nnntO5cqVy/N4ZGSkLMvS4MGDVa5cOS1atEiZmZm6++67NXz4cC1cuDDn2O3bt2vu3LmaN2+eDh8+rGHDhunf//63nnvuOb366qvatm2bmjdvrqefflqSVLVqVe3atUuSNH78eP3nP/9R/fr1FRkZqfHjx+uzzz7Te++9p7p16+qFF15Qv3799Oeff6pSpUoX/Lm+++473XjjjZo8ebK6deum7du3a9SoUZKkJ598UtnZ2br66qtVpUoV/fzzz0pLS/P7afE4v9Wrpe3bzb+vK6+0uxoA8F2MoRhD5cuCW6SmplqSrNTUVLtLAQAUwsmTJ61NmzZZJ0+etCzLso4dsywzrHL/duxYweteuXKlJcn6/PPPz3nM999/bwUGBlqJiYk5+zZu3GhJslatWmVZlmU9+eSTVtmyZa20tLScYx566CGrQ4cOOV/36NHDuvfee3O99k8//WRJsubOnZuz79ixY1ZwcLA1a9asnH2nT5+2atasab3wwgu5nnf48GHLsizr3XfftSIiInKO79atm/Wvf/0r1/d6//33rRo1aliWZVnfffedFRgYaO3Zsyfn8W+//daSZH3xxRfnPBdn/zmfid/h9nHHub//fvPv67rrSu1bAIDfye/3KmMo3xtDlcT4iZlSAAD4IMuyJJkrppzL5s2bFR0drejo6Jx9sbGxioyM1ObNm9WuXTtJUr169VSh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XlnY83A2X3mv9GeMnwzGTy6MoQzGUAbjJ4MxlMH4yfC18ROhVAl64403rLp161ohISFWmzZtrEWLFuU8dtNNN1k9evTIdfzChQutiy++2AoJCbHq1atnTZ061c0Vl47CnIcePXpYkvJsN910k/sLL2GF/ftwJk97oyiOwp6HzZs3W71797bKlClj1a5d2xo3bpx14sQJN1ddOgp7LiZPnmzFxsZaZcqUsWrUqGHdcMMN1t69e91cdcn56aefzvvv3Z/eJwt7Lnz1vbIofyfO5Evvlf6M8ZPB+MmFMZTBGMrw9/GTZTGGcmL8ZPja+MlhWX40jxEAAAAAAAAegZ5SAAAAAAAAcDtCKQAAAAAAALgdoRQAAAAAAADcjlAKAAAAAAAAbkcoBQAAAAAAALcjlAIAAAAAAIDbEUoBAAAAAADA7QilAAAAAAAA4HaEUgB82sKFC+VwOHTkyBG7SzmvadOmqW/fvgU69vXXX9eVV15ZyhUBAAB/xhgKgDs4LMuy7C4CAEpCz5491bp1a73yyis5+06fPq1Dhw4pKipKDofDrfU4HA598cUXGjx48HmPS09PV/369fXRRx+pW7duF3zd9PR01atXT5988om6du1aQtUCAAB/xRgKgF2YKQXAp4WEhKh69epuH0wVxmeffaby5csXaDAlSaGhobr++uv12muvlXJlAADAXzGGAuAOhFIAfMLNN9+sRYsW6dVXX5XD4ZDD4dCuXbvyTD2fMWOGIiMjNW/ePDVp0kRly5bV0KFDdfz4cb333nuqV6+eKlasqDFjxigrKyvn9U+fPq3x48erVq1aKleunDp06KCFCxees5569epJkq666io5HI6cr/Pz0Ucf5ZlKvnDhQrVv317lypVTZGSkunTpot27d+c8fuWVV2ru3Lk6efJkoc8VAACAE2MoAHYilALgE1599VV16tRJd9xxh5KSkpSUlKTo6Oh8jz1x4oQmT56sjz76SPPnz9fChQt19dVXKz4+XvHx8Xr//ff11ltv6dNPP815zi233KJly5bpo48+0q+//qprrrlG/fv31x9//JHv91i9erUk6d1331VSUlLO1/lZsmSJ4uLicr7OzMzU4MGD1aNHD/36669asWKFRo0aleuTyri4OGVkZGjVqlWFOk8AAABnYgwFwE5BdhcAACUhIiJCISEhKlu2rKpXr37eYzMyMjR16lQ1aNBAkjR06FC9//772r9/v8qXL6/Y2Fj16tVLP/30k4YPH67t27dr9uzZ2rt3r2rWrClJevDBBzV//ny9++67+te//pXne1StWlWSFBkZed56jhw5oiNHjuS8riSlpaUpNTVVV1xxRU6NzZo1y/U856d/u3btUo8ePQpwhgAAAPJiDAXAToRSAPxO2bJlcwYqkhQVFaV69eqpfPnyufalpKRIkn755RdZlqXGjRvnep309HRVrly5WLU4p46HhYXl7KtUqZJuvvlm9evXT3369FHv3r01bNgw1ahRI9dzy5QpoxMnThTr+wMAABQUYygAJY1QCoDfCQ4OzvW1w+HId192drYkKTs7W4GBgVq7dq0CAwNzHXfmIKwoKleuLIfDocOHD+fa/+6772rs2LGaP3++5syZo3/+859KSEhQx44dc445dOhQzqeJAAAApY0xFICSRk8pAD4jJCQkV2PNknLxxRcrKytLKSkpatiwYa7tfNPKg4ODL1hPSEiIYmNjtWnTpny/74QJE7R8+XI1b95cH374Yc5j27dv16lTp3TxxRcX/QcDAAAQYygA9iGUAuAz6tWrp5UrV2rXrl06cOBAzqd0xdW4cWPdcMMNGjlypD7//HPt3LlTq1ev1vPPP6/4+Pjz1rNgwQIlJyfn+RTvTP369dPSpUtzvt65c6cmTJigFStWaPfu3fr++++1bdu2XD0RlixZovr16+eaQg8AAFAUjKEA2IVQCoDPePDBBxUYGKjY2FhVrVpViYmJJfba7777rkaOHKkHHnhATZo00ZVXXqmVK1ee8+o0kvTSSy8pISFB0dHR5/007o477lB8fLxSU1MlmX4NW7Zs0ZAhQ9S4cWONGjVK99xzj+68886c58yePVt33HFHif18AADAfzGGAmAXh2VZlt1FAIC/GzZsWM5U8wv5/fffdemll2rbtm2KiIhwQ3UAAACeiTEU4N2YKQUAHuDFF18scMPPffv2aebMmQymAACA32MMBXg3ZkoBAAAAAADA7ZgpBQAAAAAAALcjlAIAAAAAAIDbEUoBAAAAAADA7QilAAAAAAAA4HaEUgAAAAAAAHA7QikAAAAAAAC4HaEUAAAAAAAA3I5QCgAAAAAAAG5HKAUAAAAAAAC3I5QCAAAAAACA2xFKAQAAAAAAwO0IpQAAAAAAAOB2hFIAAAAAAABw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JXZX5HF++ME1M4pTBPiGU6dOaefOnYqJiVFYWJjd5aCUnO/P2Sd+h3spfzn3775rZln36CGdcVVwAPBajJ/8Q0mMn5gphYKbO9cEUvXqST172lyM50lLk267zdy/+24CKQAAUDD0kwIA+CtCKRScs8H5TTdJAfzVOduDD0qJiVJMjPT883ZXAwAAvAWhFADAX5EsoGASE83aNMmEUsjl+++lt98296dPl8qXt7ceAADgHWhyDgDwZ4RSKJj335csyyzbi4mxuxqPkprqWrY3ZgwrGwEAQMFt2WLadpYvLzVqZHc1AAC4F6EULsyyXFfdu+UWW0vxRPfeK+3dKzVoIJ11kQMAAIDzci7du/hiuiMAAPwPv/pwYcuWSX/+aT7CGzLE7mo8yuefS++9ZwaR770nlStnd0UAAMCb0E8KAODPCKVwYe+9Z26vuYbU5QzJydKoUeb++PFSly721gMAALwPoRQAwJ8RSuH8Tp6UPv7Y3KfBeQ7Lkm6/XTp4UGrVSpo40e6KAACAt8nKktavN/cJpQAA/ohQCuc3d66UlibVrSt162Z3NR7jnXekb76RQkKkDz4wtwCA4lu4cKEcDoeOHDkiSZoxY4YiIyOL/boOh0Nz584t9usAJWnLFunECTMRvXFju6sBAHgzbx1DEUrh/GbONLcjR9J983+2b5fuv9/c/9e/pObN7a0HAM4nOTlZY8aMUf369RUaGqro6GgNHDhQCxYsKLHv0bNnT913330l9nqAvzizyXlgoL21/H979x0fRZ3/cfy9pBIgG2oCUgIqVVGKNEVsVBFREZDOT1DkOA45pKh3gHeC4AmCAnqKoFKPInKKgZwniBKqQQUiIlJEiUhLkJKEZH5/zG0gJEA27M5seT0fj33sZDK785khzn5878x3AAB50UNZI9TuAuDDfvlFWrPGnO7Tx95afER2trkrTp+WWrW6EE4BgC/av3+/br/9dsXExGjy5MmqX7++srKytHr1av3hD3/Qd999Z1kthmEoOztboaG0HoAL40kBgG+ih7IOp77g8ubPl3JyzBG8b7jB7mp8wuTJ0oYNUqlSF+66BwC+avDgwXI4HNq8ebO6dOmimjVrql69eho+fLg2btwoSTp48KAefPBBlSxZUtHR0eratat+/fXX3PcYN26cbr31Vr3//vuKj4+X0+lU9+7dderUKUlSv379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",
      "text/plain": [
       "<Figure size 1200x800 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 定义参数\n",
    "A_0 = 0.839822955064324\n",
    "k1_c = 0.541625246494477\n",
    "k1_i = 25.6544455530831\n",
    "d_a1 = 0.347219848948923\n",
    "d_c1 = 0.477057569063182\n",
    "a = -0.0443572303708673\n",
    "\n",
    "# 计算时间尺度\n",
    "dt = 0.001\n",
    "tmax = 1.5\n",
    "t = np.linspace(dt, tmax, int(tmax/dt))\n",
    "\n",
    "# 自动通道激活（一致和不一致）\n",
    "w_a1 = A_0 * np.exp(-k1_c * t)\n",
    "w_a1_incon = A_0 * np.exp(-k1_i * t)\n",
    "\n",
    "# 控制通道激活（一致和不一致）\n",
    "w_c1 = 1 - w_a1\n",
    "w_c1_incon = 1 - w_a1_incon\n",
    "\n",
    "# 模拟自动处理的时间依赖维纳过程 X(t)\n",
    "dX_a1 = w_a1 * d_a1 * dt\n",
    "dX_a1_incon = w_a1_incon * -d_a1 * dt\n",
    "\n",
    "# 累积和对应于 X_a(t)\n",
    "X_a1 = np.cumsum(dX_a1)\n",
    "X_a1_incon = np.cumsum(dX_a1_incon)\n",
    "\n",
    "# 模拟控制处理的时间依赖维纳过程 X(t)\n",
    "dX_c1 = w_c1 * d_c1 * dt\n",
    "dX_c1_incon = w_c1_incon * d_c1 * dt\n",
    "\n",
    "# 累积和对应于 X_c(t)\n",
    "X_c1 = np.cumsum(dX_c1)\n",
    "X_c1_incon = np.cumsum(dX_c1_incon)\n",
    "\n",
    "# 累积和对应于 X(t)\n",
    "X_1 = X_a1 + X_c1\n",
    "X_1_incon = X_a1_incon + X_c1_incon\n",
    "\n",
    "# 对 X_1 和 X_1_incon 进行限制\n",
    "X_1[X_1 > -a] = -a\n",
    "X_1_incon[X_1_incon > -a] = -a\n",
    "\n",
    "# 绘制自动和控制通道激活（权重）以及期望的自动和控制激活（E[X_(t)]）\n",
    "plt.figure(figsize=(12, 8))\n",
    "\n",
    "plt.subplot(2, 2, 1)\n",
    "plt.plot(t, w_a1, '-r', label='Automatic')\n",
    "plt.plot(t, w_c1, '-b', label='Controlled')\n",
    "plt.legend(loc='best')\n",
    "plt.xlabel('time t (s)')\n",
    "plt.ylabel('weight')\n",
    "plt.xlim([0, 1.5])\n",
    "plt.ylim([0, 1])\n",
    "\n",
    "plt.subplot(2, 2, 2)\n",
    "plt.plot(t, w_a1_incon, '-r', label='Automatic')\n",
    "plt.plot(t, w_c1_incon, '-b', label='Controlled')\n",
    "plt.legend(loc='best')\n",
    "plt.xlabel('time t (s)')\n",
    "plt.ylabel('weight')\n",
    "plt.xlim([0, 1.5])\n",
    "plt.ylim([0, 1])\n",
    "\n",
    "plt.subplot(2, 2, 3)\n",
    "plt.plot(t, X_a1, '-r', label='Automatic')\n",
    "plt.plot(t, X_c1, '-b', label='Controlled')\n",
    "plt.legend(loc='best')\n",
    "plt.xlabel('time t (s)')\n",
    "plt.ylabel('E[X(t)]')\n",
    "plt.xlim([0, 1.5])\n",
    "plt.ylim([-0.05, 0.05])\n",
    "plt.yticks(np.arange(-0.05, 0.06, 0.025))\n",
    "\n",
    "plt.subplot(2, 2, 4)\n",
    "plt.plot(t, X_a1_incon, '-r', label='Automatic')\n",
    "plt.plot(t, X_c1_incon, '-b', label='Controlled')\n",
    "plt.legend(loc='best')\n",
    "plt.xlabel('time t (s)')\n",
    "plt.ylabel('E[X(t)]')\n",
    "plt.ylim([-0.05, 0.05])\n",
    "plt.yticks(np.arange(-0.05, 0.06, 0.025))\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define parameter values\n",
    "A_0 = 0.8\n",
    "d_a = 0.4\n",
    "d_c = 0.6\n",
    "a = -0.047\n",
    "dc = 0.1\n",
    "# a = -0.47\n",
    "# dc = 1\n",
    "\n",
    "k_c = [0, 1, 2, 3, 4, 5, 10, 15]\n",
    "k_i = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40]\n",
    "\n",
    "# Number of simulations per congruency condition\n",
    "number_of_simulation = 200\n",
    "# Number of participants\n",
    "numP = 20\n",
    "\n",
    "# The parameter sets\n",
    "w = []\n",
    "for tmp_n in range(len(k_c)):\n",
    "    for tmp_m in range(len(k_i)):\n",
    "        w.append([A_0, k_c[tmp_n], k_i[tmp_m], d_a, d_c, a])\n",
    "w=np.array(w)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Filter out unwanted parameter combinations\n",
    "# Conditions for k_c == 0\n",
    "w = w[~((w[:, 1] == 0) & (np.remainder(w[:, 2], 5) != 0))]\n",
    "w = w[~((w[:, 1] == 0) & (w[:, 2] > 25))]\n",
    "# Conditions for k_c == 1\n",
    "w = w[~((w[:, 1] == 1) & (np.remainder(w[:, 2], 5) == 0))]\n",
    "w = w[~((w[:, 1] == 1) & (np.remainder(w[:, 2], 5) == 2))]\n",
    "w = w[~((w[:, 1] == 1) & (np.remainder(w[:, 2], 5) == 3))]\n",
    "w = w[~((w[:, 1] == 1) & (np.remainder(w[:, 2], 5) == 4))]\n",
    "# Conditions for k_c == 2\n",
    "w = w[~((w[:, 1] == 2) & (np.remainder(w[:, 2], 5) == 0))]\n",
    "w = w[~((w[:, 1] == 2) & (np.remainder(w[:, 2], 5) == 1))]\n",
    "w = w[~((w[:, 1] == 2) & (np.remainder(w[:, 2], 5) == 3))]\n",
    "w = w[~((w[:, 1] == 2) & (np.remainder(w[:, 2], 5) == 4))]\n",
    "# Conditions for k_c == 3\n",
    "w = w[~((w[:, 1] == 3) & (np.remainder(w[:, 2], 5) == 0))]\n",
    "w = w[~((w[:, 1] == 3) & (np.remainder(w[:, 2], 5) == 1))]\n",
    "w = w[~((w[:, 1] == 3) & (np.remainder(w[:, 2], 5) == 2))]\n",
    "w = w[~((w[:, 1] == 3) & (np.remainder(w[:, 2], 5) == 4))]\n",
    "# Conditions for k_c == 4\n",
    "w = w[~((w[:, 1] == 4) & (np.remainder(w[:, 2], 5) == 0))]\n",
    "w = w[~((w[:, 1] == 4) & (np.remainder(w[:, 2], 5) == 1))]\n",
    "w = w[~((w[:, 1] == 4) & (np.remainder(w[:, 2], 5) == 2))]\n",
    "w = w[~((w[:, 1] == 4) & (np.remainder(w[:, 2], 5) == 3))]\n",
    "# Conditions for k_c == 5\n",
    "w = w[~((w[:, 1] == 5) & (np.remainder(w[:, 2], 5) != 0))]\n",
    "w = w[~((w[:, 1] == 5) & (w[:, 2] > 30))]\n",
    "w = w[~((w[:, 1] == 5) & (w[:, 2] < 15))]\n",
    "# Conditions for k_c == 10\n",
    "w = w[~((w[:, 1] == 10) & (np.remainder(w[:, 2], 5) != 0))]\n",
    "w = w[~((w[:, 1] == 10) & (w[:, 2] > 35))]\n",
    "w = w[~((w[:, 1] == 10) & (w[:, 2] < 20))]\n",
    "# Conditions for k_c == 15\n",
    "w = w[~((w[:, 1] == 15) & (np.remainder(w[:, 2], 5) != 0))]\n",
    "w = w[~((w[:, 1] == 15) & (w[:, 2] > 40))]\n",
    "w = w[~((w[:, 1] == 15) & (w[:, 2] < 25))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Compute non-decision time\n",
    "R = 300\n",
    "\n",
    "# Placeholder for the RDMC function\n",
    "def RDMC(thetas,cong):\n",
    "    theta2 = np.zeros(9)\n",
    "    theta2[7] = 0.5\n",
    "    theta2[0] = -thetas[5]*2\n",
    "    theta2[1] = 0.3\n",
    "    theta2[2:7] = thetas[:5]\n",
    "    out = cogms.rDMC_trial(\n",
    "        theta2, \n",
    "        congruency=cong,\n",
    "        dc=dc,\n",
    "        dt=0.001\n",
    "        )[:2]\n",
    "    out = np.array(out)\n",
    "    out[0] = out[0] * 1000\n",
    "    return out\n",
    "\n",
    "# Simulate congruent trials\n",
    "DMC_c = [[[] for _ in range(w.shape[0])] for _ in range(numP)]\n",
    "for p in range(w.shape[0]):\n",
    "    for n in range(numP):\n",
    "        for x in range(number_of_simulation):\n",
    "            DMC_c[n][p].append(RDMC(w[p], cong = 1))\n",
    "c = [\n",
    "    [\n",
    "        [resp for resp in params if (resp[1] != -1 and resp[0] != 1500)]\n",
    "        for params in subjs\n",
    "    ]\n",
    "    for subjs in DMC_c\n",
    "]\n",
    "\n",
    "# Simulate incongruent trials (similar to congruent trials, needs implementation)\n",
    "DMC_i = [[[] for _ in range(w.shape[0])] for _ in range(numP)]\n",
    "for p in range(w.shape[0]):\n",
    "    for n in range(numP):\n",
    "        for x in range(number_of_simulation):\n",
    "            DMC_i[n][p].append(RDMC(w[p], cong=-1))\n",
    "i = [\n",
    "    [\n",
    "        [resp for resp in params if (resp[1] != -1 and resp[0] != 1500)]\n",
    "        for params in subjs\n",
    "    ]\n",
    "    for subjs in DMC_i\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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//4e646/fyJ/Dx/wk5/8RG+88Ybef/993XDDDe7lc+fOVWpqqoYPH37aPwMAfKWjZXZjiouL9dFHH2nQoEHq1KmTT34GALSW9pLb//d//6cZM2boN7/5jZ544okmt+NcG4CZdbTMbgzn2jgVFNTRoeTn5ys/P989jtZtt92mvXv36r777lNycrKuvfZaffHFFzr33HPdLxaSdPDgQY0ePVqS5HK5tHnzZg0YMEBS3QtE/feN3T9RVFSUhg0bdtp9+fTTT1VRUaGysjJJ0ubNm/Xee+9Jkq688kpFRERIqpss5NJLL9WvfvUrlZaWqlevXnrnnXf02Wef6e233/bpjN0AcDo6YmZPmjRJXbt21bBhw5SQkKCcnBy9+OKLOnDggN56663TbgcA+FJ7ye0XX3xRv/vd73T55Zfrqquu0n//+1+P9eedd577e861AZhVR8xszrXRWiioo0Opf+fz+IkpfvOb3ygvL0+33HKLEhMTdejQIcXHx7vXFxYWavny5Xr22WclSdu3b5fNZnNvs3HjRo0dO9a9/Yn3feVXv/qVdu/e7b7/r3/9S//6178kSbm5uerevbt73YIFC/T444/rd7/7nQ4fPqw+ffronXfe0Y033ujzdgLAqeqImT1gwAC9++67eu2111ReXq64uDhdeOGF+vvf/65zzjnH5+0EgNPRXnL73//+tyTps88+02effdZgff3QAPU41wZgRh0xsznXRmuxGCeeDQAd3CeffKLbbrtNq1atUmRkpG655RZ9+eWXKisrk9Vq1Xvvvac333zTHdSxsbHauHGj0tLSGr0PAPAdMhsAzIXcBgDzILOBxnGFOnCCyy+/XFdeeaX69++vtLQ0XXzxxSooKJDVapVU9w5r/UeW8vLyZLFY3C8OJ94HAPgWmQ0A5kJuA4B5kNlA47hCHQAAAAAAAAAALwS1dQMAAAAAAAAAADCDgCyof/3117r66quVmpoqi8WiRYsWudfV1NTokUceUf/+/RUZGanU1FTdeuut2r9/v8c+HA6H7r33XiUkJCgyMlLXXHON9u7d6+eeAEDHQG4DgHmQ2QBgLuQ2AASWgCyoV1RUaODAgZo9e3aDdZWVlVq7dq1++9vfau3atVqwYIG2bduma665xmO7adOmaeHChZo/f76++eYblZeXa+zYsXI6nf7qBgB0GOQ2AJgHmQ0A5kJu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PaUvPaUfLpdL2dnZfmejBBO5HTw95W+SfoQW+hFayGwyO9T0lH5IPacv9CO0kNvkdqihH6GFfoSWYGd2yBTU77rrLl1//fVtbtO/f3/fzwcOHNDkyZM1fvx4vfTSS37bpaen69NPP/VbVlZWprq6umafyp7M4XDI4XA0W+50Oi39R9QkPj6efoSQntIPqef0paf0w263d8nvIbeDr6f8TdKP0EI/QguZTWaHmp7SD6nn9IV+hBZym9wONfQjtNCP0BKszA6ZgnpKSopSUlIC2nb//v2aPHmyxowZo9/+9rfNXpzx48frscceU3FxsTIyMiRJK1eulMPh0JgxYzq97QDQG5HbAGAdZDYAWAu5DQChK2QK6oE6cOCAJk2apOzsbD311FM6dOiQb116erokaerUqTr33HN100036cknn9TRo0d133336bbbbusRn64AgJWQ2wBgHWQ2AFgLuQ0AXc9yBfWVK1dq586d2rlzp/r16+e3runOrWFhYXrnnXd0xx136IILLlB0dLRmzZqlp556qkO/y+Fw6OGHH27xEicroR+hpaf0Q+o5faEfwUVudxz9CC30I7TQj+AiszuOfoSentIX+hFaQrUf5HbH0Y/QQj9CC/0IjM00JSwAAAAAAAAAAGhV19xNAwAAAAAAAAAAi6OgDgAAAAAAAABAACioAwAAAAAAAAAQAArqAAAAAAAAAAAEoNcV1BcvXqwRI0YoPj5e8fHxGj9+vN59913femOMHnnkEWVmZio6OlqTJk3S1q1b/fbh8Xh09913KyUlRbGxsbryyiu1b9++kOrHLbfcIpvN5vf1zW9+M+T6caqFCxfKZrNpzpw5vmVWGZOTtdQPK4zJI4880qyN6enpvvVWGov2+mKF8Wiyf/9+3XjjjUpOTlZMTIxGjRqlDRs2+NZbaVw6iswOrX6ciszu/n70lNwms0NvTE4XuR1a/TgVuc2xdmcht0NzXDqKzA6tfpyKzO7+fvSU3CazgzAmppd5++23zTvvvGO2b99utm/fbh588EETERFh8vPzjTHGPP744yYuLs68+eabZsuWLWbmzJkmIyPDuN1u3z5uv/12c9ZZZ5lVq1aZjRs3msmTJ5uRI0ea+vr6kOnH7NmzzaWXXmqKi4t9X0eOHPHbRyj042SfffaZ6d+/vxkxYoS55557fMutMibt9cMKY/Lwww+b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",
      "text/plain": [
       "<Figure size 1500x2000 with 32 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Identify congruent RTs in percentiles\n",
    "RTc = np.array([[np.percentile(np.array(c[n][p])[:, 0], [10, 30, 50, 70, 90]) for p in range(len(w[:, 0]))] for n in range(numP)])\n",
    "\n",
    "# Identify incongruent RTs in percentiles\n",
    "RTi = np.array([[np.percentile(np.array(i[n][p])[:, 0], [10, 30, 50, 70, 90]) for p in range(len(w[:, 0]))] for n in range(numP)])\n",
    "\n",
    "# Calculate congruency effects\n",
    "CE = RTi - RTc\n",
    "\n",
    "# Vincentisation\n",
    "meanRTc = np.mean(RTc, axis=0)\n",
    "meanRTi = np.mean(RTi, axis=0)\n",
    "RT = (meanRTc + meanRTi) / 2\n",
    "\n",
    "meanCE = np.mean(CE, axis=0)\n",
    "\n",
    "# Figure -- the grid analysis of (k_i-k_c) v.s. k_c\n",
    "fig, axs = plt.subplots(8, 4, figsize=(15, 20))\n",
    "for p in range(len(w[:, 0])):\n",
    "    axs[p//4, p%4].plot(RT[p], meanCE[p], linestyle='-', marker='o', color=[0/255, 0.4470*255/255, 0.7410*255/255])\n",
    "    axs[p//4, p%4].set_xlim(300, 600)\n",
    "    axs[p//4, p%4].set_ylim(-20, 120)\n",
    "    \n",
    "    if p == 0:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=0$', fontweight='bold')\n",
    "        axs[p//4, p%4].set_title(r'$k_{diff}=10$')\n",
    "    elif p == 1:\n",
    "        axs[p//4, p%4].set_title(r'$k_{diff}=15$')\n",
    "    elif p == 2:\n",
    "        axs[p//4, p%4].set_title(r'$k_{diff}=20$')\n",
    "    elif p == 3:\n",
    "        axs[p//4, p%4].set_title(r'$k_{diff}=25$')\n",
    "    elif p == 4:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=1$', fontweight='bold')\n",
    "    elif p == 8:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=2$', fontweight='bold')\n",
    "    elif p == 12:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=3$', fontweight='bold')\n",
    "    elif p == 16:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=4$', fontweight='bold')\n",
    "    elif p == 20:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=5$', fontweight='bold')\n",
    "    elif p == 24:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=10$', fontweight='bold')\n",
    "    elif p == 28:\n",
    "        axs[p//4, p%4].set_ylabel(r'$k_c=15$', fontweight='bold')\n",
    "\n",
    "plt.ylim(0,100)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pymc5_3.11",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
